缓存
- 什么是缓存
高速设备代替低速设备承载更多处理能力和IO操作。 - Redis是一个内存性数据库,用于缓存硬盘数据,进而提升性能。
- 为什么需要缓存:
硬盘太慢了,所以让内存多做些事情;内存比硬盘要快至少100倍,通过缓存可以更好支撑高并发。
目录
1 连接数据库
pip install redis
import redis
def redis_connect():
# redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,每个Redis实例都会维护一个自己的连接池。
pool = redis.ConnectionPool(host='127.0.0.1', port=6379, decode_responses=True, db=0)
red = redis.Redis(connection_pool=pool)
return red
# 连接到Redis服务器
red = redis_connect()
red.hset('bigkey', 'smallkey', 'value')
2 操作
2.1 string类型
set(name, value, ex=None, px=None, nx=False, xx=False)
# ex,过期时间(秒)
# px,过期时间(毫秒)
# nx,如果设置为True,则只有name不存在时,当前set操作才执行
# xx,如果设置为True,则只有name存在时,当前set操作才执行
ex
5分钟
:60 * 5 = 300
一天
:3600 * 24 = 86400
一周
:3600 * 24 * 7 = 604800
一个月
:3600 * 24 * 30 = 2592000
2.1.1 新增 and 修改
r.set('a','666')
ex
: 失效时间
r.set('a','666',ex=3000)
2.1.2 删
-
删除数据库所有key
r.flushdb()
-
删除指定key
r.delete('a')
2.1.3 查
-
获取指定key值
r.get('a')
-
获取所有以 a 开头的 key
r.keys('a*')
2.2 哈希(hash)类型
2.2.1 新增 and 修改
参数一:大key
参数儿:小key
r.hset('bigKey', 'smallKey', '{"age":18,"addr":"北京"}')
2.2.2 获取指定 value 值
.hget('大key','小key')
res = r.hget('bigKey', 'smallKey')
print(res)
输出:
2.2.3 获取所有 小key
.hgetall('大key')
res = r.hgetall('bigKey')
print(res)
2.2.4 删除 大key
r.delete('bigKey')
2.2.5 删除 小key
r.hdel('bigKey','smallKey')
参考文章:
https://www.cnblogs.com/yiruliu/p/9798219.html
https://segmentfault.com/a/1190000014416025