redis中List,hash,set最基本的redis命令

Redis列表(List)

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

实例

redis 127.0.0.1:6379> LPUSH java redis
(integer) 1
redis 127.0.0.1:6379> LPUSH java mongodb
(integer) 2
redis 127.0.0.1:6379> LPUSH java mysql
(integer) 3
redis 127.0.0.1:6379> LRANGE java 0 10

1) "mysql"
2) "mongodb"
3) "redis"

lpush 尾赋值

rpush 头赋值

lrange 取值

lpop 移出并获取列表信息 第一元素

rpop 移出并获取列表信息 最后一个元素

lindex 通过索引获取列表的元素

llen 获取长度

lrem key 从left 到right 删除2个值等与xml的元素

ltrim 截取指定索引区间的元素

rpoplpush 移出列表的最后一个元素 并将该元素添加到另一个列表并返回

lset 给定的位置进行修改

linsert befor after 在值起那面或者后面进行插入

性能总结:

  • 它是一个字符串链表,left、right都可以插入添加;
  • 如果键不存在,创建新的链表;
  • 如果键已存在,新增内容;
  • 如果值全移除,对应的键也就消失了。
  • 链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。
  • 列表,可以经过规则定义将其变为队列、栈、双端队列等

Redis集合(set)

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

flushall 清空数据

clear 清屏

Sadd 添加数据

SMEMBERS 查看数据

scard 获取集合里面的个数

srem 删除集合中的元素

127.0.0.1:6379> srem java mysql
(integer) 1

srandmember key 莫个整数 随机出个数

  • 从set集合里面随机取出
  • 如果超过了最大数量就全部取出
  • 如果值是负数 比如是 -3 表示取3个 。但是有重复的值

smove key1 key2 在key1 里 莫个值作用是将key1 里面的某个值赋值给 key2

数据集合操作

  • 交集 sinter
  • 并集 sunion
  • 差集 sdiff 第一个列表里有 第二个列表里没有

Redis哈希(Hash)

Redis HASH 是一个string类型 field(字段) 和vlaue(值) 的映射表, hash特性适合存储对象。

hset 赋值

hget 取值

hmset 赋值多个值

hmget 取值

hgetall 取出全部的值

hdel 删除某个字段

hlen 长度

hexists key 在key里面的某个值是否存在

hkeys 获取所有key值

hvals 获取所有的value值

Redis有序集合Zset

Redis 有序集合和集合一样也是string类型元素集合,且不允许有重复的成员 不同的是每个元素都是关联一个double类型分数。 通过这个分数值进行从小到大的排序

zadd 赋值

127.0.0.1:6379> zadd user 60 wenwen 80 wcc 70 jingjing 90 xueqiong 1000 zhongzhong
(integer) 5
 zrange 取值
127.0.0.1:6379> zrange user 0 -1
1) "wenwen"
2) "jingjing"
3) "wcc"
4) "xueqiong"
5) "zhongzhong"

127.0.0.1:6379> zrange user 0 -1 withscores
1) "wenwen"
2) "jingjing"
3) "wcc"
4) "xueqiong"
5) "zhongzhong"

zrem 删除元素

127.0.0.1:6379> zrem user wenwen jingjing 
(integer) 1

zcard 获取结合中的元素个数

127.0.0.1:6379> zcard user
(integer) 8

zcount 获取分数区间内元素个数 zcount key 开始 分数区间 结束分数区间

127.0.0.1:6379> zcount user 30 60
(integer) 3
zrank 获取value 在zset中的下标的位置
127.0.0.1:6379> zrank user xiaoqi
(integer) 2

ZREVRANGEBYSCORE 分数是反着来的

127.0.0.1:6379> ZREVRANGEBYSCORE user 90 30 withscores
 1) "xueqiong"
 2) "90"
 3) "jingjing"
 4) "90"
 5) "wcc"
 6) "80"
 7) "wenwen"
 8) "60"
 9) "xiaoqi"
10) "40"
11) "xingxing"
12) "30"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值