【笔记】-《Redis实战》- 01 Redis数据结构
2018-12-13 本文已影响16人
u14e
安装
- redis
- python
-
Python的redis客户端库 (
pip install redis
)
Redis 数据结构
- STRING: 字符串、整数、浮点
- LIST: 链表,链表上的每个节点都包含一个字符串
- SET: 包含字符串的无序收集器(unordered collection), 每个字符串都不相同
- HASH: 包含键值对的无序散列表
- ZSET: 字符串成员(member)与浮点数分值(score)之间的有序映射, 元素的排列顺序由分值大小决定
1. STRING
使用 redis-cli 连接: redis-cli
# 设置值
set hello world
# 获取值
get hello
# 删除值
del hello
2. LIST
# lpush 向列表左端推入新元素
# rpush 向列表右端推入新元素
rpush list-key item
rpush list-key item2
rpush list-key item
# lrange 获取列表在给定范围的所有元素 (lrange key start stop)
lrange list-key 0 -1
# 获取指定位置的单个元素 (lindex key index)
lindex list-key 1 # "item2"
# lpop 从列表左端弹出一个元素
# rpop 从列表右端弹出一个元素
lpop list-key
3. SET
# sadd 将元素添加到集合中 (sadd key member [member ...])
sadd set-key item
sadd set-key item2
sadd set-key item3
# smembers 获取集合包含的所有元素 (smembers key)
smembers set-key
# srem 从集合里面移除元素 (srem key member [member ...])
srem set-key item item2
4. HASH
# hset 在散列里面关联给定的键值对 (hset key field value)
# hash-key: 键名
# 'sub-key1 value1' 与 'sub-key2 value2': 键值对
# hash-key 是一个包含两个键值对的散列键
hset hash-key sub-key1 value1
hset hash-key sub-key2 value2
# hgetall 获取散列包含的所有键值对 (hgetall key)
hgetall hash-key
# hdel 移除给定的键 (hdel key field [field ...])
hdel hash-key sub-key1
# hget 获取指定散列键的值 (hget key field)
hget hash-key sub-key2
5. ZSET
有序集合和散列一样,都用于存储键值对。
有序集合的键被称为成员(member
), 每个成员各不相同; 值被称为分值(score
),分值必须为浮点数。
有序集合是Redis里面唯一一个既可以根据成员访问元素,又可以根据分值以及分值的排列顺序来访问元素的结构。
# zadd 将一个带有给定分值的成员添加到有序集合
# zadd key [NX|XX] [CH] [INCR] score member [score member ...]
zadd zset-key 728 member1
zadd zset-key 982 member0
# 根据元素在有序集合中所处的位置,从有序集合中获取给定范围的多个元素
# zrange key start stop [WITHSCORES]
zrange zset-key 0 -1 withscores
# 获取有序集合在给定分值范围内的所有元素
# zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
zrangebyscore zset-key 0 800 withscores
# zrem 移除给定有序集合的元素
# zrem key member [member ...]
zrem zset-key member1