「这是我参与11月更文挑战的12天,活动详情查看:2021最后一次更文挑战」
List
以顺序存储可以重复的字符串
增加:push
分成lpush和rpush:向左或右推入元素
// 向list的左侧推入元素 1,会返回列表的当前长度
lpush list 1
获取元素:lrange
获取指定范围内的元素
// 获取从0开始-最后的 元素
lrange list 0 -1
查找:lindex
获取指定索引下的元素
// 获取索引2位置的元素
lindex list 2
移除:pop
分成lpop和rpop,分别从左/右 弹出第一个个元素
// 弹出右侧第一个元素
rpop list
set
使用无序,不重复的方式保存元素
添加:sadd
由于是不重复的,返回的结果是0,1.
- 1代表添加成功
- 0代表添加失败(已经存在相同的元素)
# 添加成功
> sadd set 1
1
# 添加失败
> sadd set 1
0
获取全部元素:smembers
获取set中的所有元素,如果元素过多,执行慢,慎用!!!
> smembers set
1
3
检查元素:sismember
检查元素是否存在,1 代表存在。0代表不存在
> sismember set 3
1
> sismember set 2
0
删除元素:screm
删除指定的元素
# 没有该元素,删除失败,返回0
> srem set 2
0
# 删除成功
> srem set 1
1
# 查询所有元素,1已经被删除
> smembers set
3
统计个数:scard
返回set中元素的个数
> scard set
5
随机获取指定数量的元素:srandmember
> srandmember set 3
lsga
3
asdasd
> srandmember set 3
lsga
4
asdjas
hash
使用k-v键值对,存储在一个hash结构中。
增加,修改:hset,hmset
hset:设置k-v ,返回结果为该元素是否存在。1代表不存在,插入。0代表已存在,将值修改为新值
# 第一次设置时不存在,返回1
> hset user address shaoxing
1
# 第二次设置时已存在,返回0并修改
> hset user address hangzhou
0
# 获取值,发现已修改
> hget user address
hangzhou
hmset:批量设置k-v,返回是否成功(OK)
> hmset user name "yzy's son" birth 1998
OK
> hmget user name birth
yzy's son
1998
获取:hget,hmget
hget:根据k获取v ,hmget 批量k获取v
> hget user name
yzy's son
> hmget user name birth
yzy's son
1998