Skip to content

Commit

Permalink
添加排除参数的用法
Browse files Browse the repository at this point in the history
  • Loading branch information
glwhappen committed Jan 13, 2024
1 parent fe8bf6a commit 73459d4
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 2 deletions.
29 changes: 28 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,11 @@ print(add(1, 2))
> 注意事项:需要在项目根目录创建一个 `.projectroot` 文件,用来标识项目的根目录,这样缓存文件都会创建到根目录

缓存的计算斐波那契数列的第n项,可以通过设置占位符,来让不同的结果缓存到不同的文件夹中
### 分文件缓存

可以通过设置路径,添加不同的文件,并且文件的名称可以使用占位符

缓存的计算斐波那契数列的第n项,可以通过设置占位符,来让不同的结果缓存到不同的文件夹中。

```python
import time
Expand All @@ -90,6 +94,10 @@ if __name__ == '__main__':
print("删除cache中的内容即可重新执行函数")
```

### 按时间缓存

如果需要按照时间让缓存失效,例如一天,一周,或者一小时

添加按时间缓存,允许根据日期和时间来组织缓存文件,从而使得缓存管理更加高效和直观。 完整的时间格式,可以自己控制:`{time:YYYY-MM-DD_HH-mm-ss}`

下面的写法是缓存一个小时
Expand All @@ -108,6 +116,25 @@ print("第一次运行需要花费4秒,在一个小时内运行,只需要瞬
print(add(1, 2))
```

### 排除某些参数

如果输入的参数不会影响输出的结果,可以进行排除,这样他的改变不会导致重新计算缓存

```python
import time

from cache_result import cache

@cache("cache/{time:YYYY-MM-DD_HH}", exclude_args=['sleep'])
def add(a, b, sleep=4):
time.sleep(sleep)
return a + b

print("排除了sleep参数的影响,他的改变不会导致重新缓存")
print(add(1, 2))
print(add(1, 2, sleep=2))
```


## 高级用法

Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

setup(
name='cache-result',
version='0.2.2',
version='0.2.3',
description='A python decorator for caching the results of functions',
long_description=long_description,
long_description_content_type="text/markdown",
Expand Down

0 comments on commit 73459d4

Please sign in to comment.