redis五种基本数据类型
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
本文来自博客园,作者:花酒锄作田,转载请注明原文链接:https://www.cnblogs.com/XY-Heruo/p/15927674.html