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
posted @ 2022-02-23 15:32  花酒锄作田  阅读(87)  评论(0编辑  收藏  举报