Redis 是速度极快的非关系型(NoSQL)内存键值数据库。可以存储键与五种不同类型的值之间的映射。
五种类型:STRING、LIST、SET、HASH、ZSET
Redis 支持很多特性,如将内存数据持久化到硬盘,使用复制来扩展读性能,使用分片来扩展写性能。
语句的一般形式:操作 key [value],操作无外乎就是增、删、查。
STRING:
一个键对应一个 value。
set key value:成功返回 ok,Python 对应 True。
get key: 存在返回 value;不存在返回 nil,Python 对应 None。
del key [key...]:存在返回 1,不存在返回 0。
LIST
一个键对应多个 value,可重复。
lpush key value [value...]:返回列表长度。
lpop key:返回 value 或 nil。
lindex key index:返回 value 或 nil。
lrange key start stop:返回多个 value。
SET
一个键对应多个 member,不可重复。
sadd key member [member...]:返回此语句 member 的个数。
srem key member [member...]:返回实际删除 member 的个数。
smembers key:返回所有 member。
sismember key member:返回 1 或 0。
HASH
类比 mongodb(文档数据库)中的 document,sqlserver(关系数据库) 中的 record 。
一个键对应多个 field-value 对。
hset key field value:返回 1 或 0。
hdel key field [field...]:返回实际删除的 field-value 对。
hget key field:返回 value 或 nil。
hgetall key:返回所有 field 和 value。
使用命名空间可以实现类似关系数据库的表的功能。
如键 article:92617,article 是命名空间。
ZSET
全称 sorted set,一个键对应多个 score-member 对。
score(分值)是排序依据,为浮点型。member 唯一。
zadd key score member [score member...]:返回增加的 score-member 对个数。
zrem key member [member...]:返回删除的 score-member 对个数。
zrange key start stop [withscores]:返回多个 member。
zrangebyscore key min max [withscores]:返回多个member。