Redis使用手册。黄健宏。机械工业出版社。2019-09
redis数据结构数量从过去5种,增加到了9种。
python 如何使用
from redis import Redis
client = Redis()
if client.ping() isTrue:
print()
else:
print()
默认端口 6379
redis-server --port 10086
redis-server /myRedis.conf # 载入conf
myRedis.conf 内容
port 10086
数据结构与应用
这本书讲的是redis5
字符串
set 设置
set key value # 1.0+
# 多次设置可以提供 nx或者 xx
set key value nx # 没有值才操作 2.6+
set key value xx # 有值才操作 2.6+
get 获取
get key # nil
getset 获取旧值赋新值
getset key newValue
示例。缓存。
设置,取值,赋新值
也可以把热门图片 赋值 a.jpg
中
示例。锁
VALUE_OF_LOCK = 'locking'
class Lock:
def __init__(self, client, key):
self.client = client
self.key = key
def acquire(self):
"""
获取锁,成功就True,失败就False
"""
result = self.client.set(self.key, VALUE_OF_LOCK, nx=True) # 没有值才赋值
return result is True
def release(self):
"""
释放锁
"""
return self.client.delete(self.key) == 1
from redis import redis
from lock import Lockc
client = Redis()
lock = Lock(client,'test-lock')
lock.acquire()
存在问题,无法确认所有者。不能设置最大加锁时间
mset 一次设置多个值
示例。存储文章信息
这块得看代码。
计数器,pv,投票
限速器。ip一分钟最高60个请求。错误密码多了就不让登陆
散列
也就是hash,也就是对象,json
hset hash field value
短网址生成程序
用hash很适合。
持久化
跳过很多,直接看持久化
redis api思维导图
http://naotu.baidu.com/file/642a975441558f1dc4d69ab98c61f0c2?token=fa14357bd38dfd3a