redis list ,set常用操作命令
使用ArrayLIst
根据索引来操作,对数据的检索比较快
LinkedList
双向链表追加数据,核心是每个数据都有数据的头和尾,追加起来比较快
存储list 常用命令
左侧批量添加a,b,c数据,不存在进行创建
lpush mylist a b c
右侧批量添加a,b,c数据,不存在进行创建
rpush mylist2 a b c
查看列表,检索从左边坐标0到10的元素,可以使用负数,表示从
右边开始数过来第一个开始
lrange mylist 0 10
查看列表,检索从右边坐标0到10的元素,可以使用负数,表示从
左边开始数过来第一个开始
lrange mylist 0 10
这里有个技巧,在获取所有的情况可以使用
lrange mylist 0 -1
获取并删除第一个元素
rpop mylist
获取hash对象长度
hlen mylist
不存在该key值的时候不进行插入数据
lpushx mylist
rpushx mylist
从左边开始删除,查找两个,3
语法
lrem {count} {val}
lrem mylist 2 3
特点:如果lrem count 为 则删除所有的3,count 使用负数,则从后面开始删除
在mylist 中的第三个坐标中插入一个mmm的元素
lset mylist 3 mmm
将值插入到指定的值前面或后面
linsert {keyname} {alert|brfore} {val查找值} {insert_val}
将会把keyname1中的第一个数据移除并插入到keyname2的第一个数据
这个主要是作用于消息队列中
rpoplpush {keyname1} {keyname2}
redis set 数据类型
set 不允许重复的数据在添加重复的数据中,会返回0
添加元素
sadd {keyname} {val1,val2}
获取set所有元素
smembers {keyname}
删除set指定元素
srem {keyname} {count} {val}
判断元素是否存在
sismember {keyname} {val}
获取两集合的差集
sdiff {keyname1} {keyname2}
获取两集合的交集
sinter {keyname1} {keyname2}
将两个集合的元素合并并且去重
sunion {keyname1} {keyname2}
查看set元素个数
scard {keyname}
随机返回set中的成员
srandmember {keyname}
将两集合的差集存储到一个新的变量中 2 3 的差集合
sdiffstore {keyname1} {keyname2} {keyname3}
将两集合的交集存储到一个新的变量中 2 3 的交集合
sinterstore {keyname1} {keyname2} {keyname3}
将两集合的合并去重存储到一个新的变量中 2 3 的合并
sunionstore {keyname1} {keyname2} {keyname3}
使用场景:用户跟踪一些唯一的数据,和维护数据对象之间的关联关系