今日分享主题:Python 常规操作 redis 的内容
Part1:五种数据类型
Redis 支持5种数据类型:
-
string(字符串)
-
hash(哈希)
-
list(列表)
-
set(集合)
-
zset(sorted set:有序集合)
1.String 字符串数据类型
String 是最常用的一种数据类型,普通的 key/value 存储都可以归为此类,即可以完全实现目前 Memcached 的功能,并且效率更高。
还可以享受 Redis 的定时持久化,操作日志及 Replication 等功能。
常用命令:
-
get
-
set
-
incr
-
decr
-
mget
2.Hash哈希数据类型
Redis hash 是一个键值(key => value)对集合。
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。
常用命令:
-
hget
-
hset
-
hgetall
应用场景:
举个实例来描述下 hash 的应用场景,比如我们要存储一个用户信息对象数据,就可以使用 Redis hash。
3.List数据类型
Redis list 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
常用命令:
-
lpush(添加左边元素)
-
rpush(添加右边元素)
-
lpop(移除左边第一个元素)
-
rpop(移除右边第一个元素)
-
lrange(获取列表片段,LRANGE key start stop)
应用场景:
Redis list 的应用场景非常多,也是 Redis 最重要的数据结构之一。
比如 twitter 的关注列表,粉丝列表等都可以用 Redis 的 list 结构来实现。
4.Set 数据类型
Redis set 是 string 类型的无序集合。集合是通过 hashtable 实现的,概念和数学中的集合基本类似,可以交集,并集,差集等等,set中的元素是没有顺序的。
常用命令:
-
sadd
-
spop
-
smembers
-
sunion
应用场景:
Redis set 对外提供的功能与 list 类似是一个列表的功能,特殊之处在于 set 是可以自动排重的。
当你需要存储一个列表数据,又不希望出现重复数据时,set 是一个很好的选择,并且 set 提供了判断某个成员是否在一个 set 集合内的重要接口,这个也是 list 所不能提供的。
5.zset 有序集合数据类型
Redis zset 和 set 一样也是 string 类型元素的集合,且不允许重复的成员。
zadd 命令:添加元素到集合,元素在集合中存在则更新对应sc