2023-01-25

一、redis中的数据类型

1、redis列表(List)

redis列表底层是一个双向链表。

(1)从左边/右边插入一个或多个值

lpush/rpush 

例如:

(2)从左边/右边吐出一个值。值在键在,值光键亡

lpop/rpop 

例如:

(3)从key1列表右边吐出一个值,插入到key2列表左边

rpoplpush 

(4)按照索引下标获得元素(从左到右)

lrange 

(5)按照索引下标获得元素(从左到右)

lindex 

例如:

(6)获得列表长度

llen 

例如:

(7)在的后面插入插入值

linsert  before 

例如:

插入后的数据

(8)从左边删除n个value(从左到右)

lrem 

例如:

(9)将列表key下标为index的值替换成value

lset

例如:

2、redis中的Set

redis中的set是可以自动排重的,而且是无序集合。它的底层是一个value为null的hash表,所以增加,删除,查找的复杂度都是O(1)。

(1)将一个或多个member元素加入到集合key中,已经存在的member元素将被忽略

sadd 

(2)取出该集合的所有值

smembers 

注意:set集合中“去重,无序”

(3)判断集合是否为含有该值,有1,没有0

sismember 

(4)返回该集合的元素个数

scard 

(5)删除集合中的某个元素

srem 

说明:删除两个元素之后,再次显示值,只剩下3个

(6)随机从该集合中吐出一个值

spop 

(7)随机从该集合中取出n个值

srandmember 

说明:从k4中随机取出2个值

(8)把集合中一个值从一个集合移动到另一个集合

smove 

说明:将v1从k4集合中移到k5

(9)返回两个集合的交集元素

sinter 

(10)返回两个集合的并集元素

sunion 

(11)返回两个集合的差集元素(key1中的,不包含key2中的)

sdiff 

2023-01-27

3、Hash

redis中的hash是一个键值对集合。hash适合用于存储对象。

(1)给集合中的键赋值

hset 

(2)从集合取出value

hget 

(3)批量设置hash的值

hmset 

(4)查看哈希表key中,给定域field是否存在

hexists 

说明:返回值是1,表示属性存在;返回值是0,表示属性不存在。

(5)列出该hash集合的所有field

hkeys 

(6)列出该hash集合的所有value

hvals 

(7)将哈希表key中的域field的值设置为value,当且仅当域field不存在

hset