Redis使用手册。黄健宏。机械工业出版社。2019-09

redis数据结构数量从过去5种,增加到了9种。

Redis特点思维导图

《Redis使用手册》笔记 - 图1

python 如何使用

  1. from redis import Redis
  2. client = Redis()
  3. if client.ping() isTrue:
  4. print()
  5. else:
  6. print()

默认端口 6379

  1. redis-server --port 10086
  2. redis-server /myRedis.conf # 载入conf

myRedis.conf 内容

  1. port 10086

数据结构与应用

这本书讲的是redis5

字符串

set 设置

  1. set key value # 1.0+
  2. # 多次设置可以提供 nx或者 xx
  3. set key value nx # 没有值才操作 2.6+
  4. set key value xx # 有值才操作 2.6+

get 获取

  1. get key # nil

getset 获取旧值赋新值

  1. getset key newValue

示例。缓存。
设置,取值,赋新值
也可以把热门图片 赋值 a.jpg

示例。锁

  1. VALUE_OF_LOCK = 'locking'
  2. class Lock:
  3. def __init__(self, client, key):
  4. self.client = client
  5. self.key = key
  6. def acquire(self):
  7. """
  8. 获取锁,成功就True,失败就False
  9. """
  10. result = self.client.set(self.key, VALUE_OF_LOCK, nx=True) # 没有值才赋值
  11. return result is True
  12. def release(self):
  13. """
  14. 释放锁
  15. """
  16. return self.client.delete(self.key) == 1
  1. from redis import redis
  2. from lock import Lockc
  3. client = Redis()
  4. lock = Lock(client,'test-lock')
  5. lock.acquire()

存在问题,无法确认所有者。不能设置最大加锁时间

mset 一次设置多个值

示例。存储文章信息
这块得看代码。

计数器,pv,投票
限速器。ip一分钟最高60个请求。错误密码多了就不让登陆

散列

也就是hash,也就是对象,json

  1. hset hash field value

短网址生成程序

用hash很适合。

持久化

跳过很多,直接看持久化

redis api思维导图
http://naotu.baidu.com/file/642a975441558f1dc4d69ab98c61f0c2?token=fa14357bd38dfd3a