1. 字符串(string)
redis中所有的key的类型都是字符串
常用操作:
# 添加一个key set key1 value1 # 添加一个key,并设置自动过期时间 set name1 jack1 ex 3 # 批量设置多个key mset key1 value1 key2 value2 # 获取一个key的值 get key1 # 获取key值的长度 strlen key1 # 查看key是否存在,如果存在则返回1,若不存在则返回0 exists key1 # 删除一个key del key1 # 查看key的过期时间 ttl name1 # 设置key的过期时间 expire key1 86400 # 取消key的过期时间 persist key1 # 追加数据 append key1 append # key1的值从value1变成value1append # 数值递增 set num 10 incr num # num的值变成11 # 数值递减 set num 10 decr num # num的值变成9
2. 列表
列表是一个双向可读写的管道,其头部是左侧,尾部是右侧。一个列表最多可以容纳2^32 -1 个元素。
常用基本操作:
# 生成列表list1并插入数据, 最后的john将在最左侧 lpush list1 jack tom john # 查看类型 type list1 # 结果为 list # 向列表追加数据 lpush list1 ash rpush list1 banshee # 获取列表长度 llen list1 # 获取列表指定位置数据 rpush list2 zhao qian sun li ## 从头部获取第1到第2数据 lrange list2 1 2 ## 从头部开始获取第2个数据 lrange list2 2 2 # 移除列表数据 ## 删除最后一个 rpop list1 ## 删除第一个 lpop list1
3. 集合(Set)
set是string类型的无序集合,集合中的成员是唯一的,不能重复,可以在两个不同的集合中对数据进行对比并取值。
常用操作:
# 生成集合 sadd set1 v1 sadd set2 v2 v4 # 追加数值 sadd set1 v2 v3 # 查看集合中的所有数据 smembers set1 # 获取集合的差集 ## 属于set1而不属于set2的数据 sdiff set1 set2 # 获取集合的交集 sinter set1 set2 # 获取集合的并集 sunion set1 set2
4. 有序集合(sorted set)
有序集合类似普通集合,成员不能重复,不同的是每个元素都会关联一个double类型的分数,redis根据分数对成员进行从小到大的排序。有序集合中,成员唯一,但分数可以重复。
常用操作:
# 生成有序集合 zadd zset1 1 v1 zadd zset1 2 v2 zadd zset1 3 v3 4 v4 # 显示有序集合中所有的key zrange zset1 0 -1 # 显示所有Key和分数 zrange zset1 0 -1 withscores # 获取集合的长度 zcard zset1 # 基于索引返回数值 zrange zset1 1 3 zrange zset1 4 7 zrange zset1 5 5 # 获取某个数值的索引 zrank zset1 v2
5. 哈希
hash是一个string类型的field和value的映射表,适用于存储对象。
常用基本操作:
# 生成hash key hset hash1 name tom age 18 # 获取hash key的字段值 hget hash1 name # 删除一个hash key的字段 hdel hash1 age # 获取hash表中所有key hkeys hash1 # 获取hash表中所有key及其value hgetall hash1