redis 5大类型常用命令

redis 五大常用类型为

string

hash

list

set

mset

(set 和 mset的区别:mset做了排序)

连接redis:

redis-cli.exe -h ip -p 端口-a 密码

String(字符串)

127.0.0.1:6379> set key1 v1 设置值
OK
127.0.0.1:6379> keys * 获得所有的值
“key1”
127.0.0.1:6379> exists key1 判断某个值是否存在
(integer) 1
127.0.0.1:6379> append key1 hello 追加字符串,如果key1不存在,就设置key
(integer) 7
127.0.0.1:6379> get key1 获得元素
“v1hello”
127.0.0.1:6379> strlen key1 取得元素长度
(integer) 7

127.0.0.1:6379> set views 0
OK
127.0.0.1:6379> incr views 自增1
(integer) 1
127.0.0.1:6379> DECR views 自减1
(integer) 0

127.0.0.1:6379> INCRBY view 10 自增10 ,不存在就设置值
(integer) 10
127.0.0.1:6379> DECRBY view 10 自减10
(integer) 0
127.0.0.1:6379> getrange key1 0 1 获取元素下标0 1间的值
“v1”
127.0.0.1:6379> SETRANGE key1 0 vvv 替换元素0开始为vvv
(integer) 15
27.0.0.1:6379> setex key2 10 hello 设置key2 为hello并且10秒后过期
OK
127.0.0.1:6379> ttl key2 查看过期时间
(integer) 2

127.0.0.1:6379> setnx key2 world 设置key2,存在就失败,不存在就成功设置
(integer) 1
127.0.0.1:6379> setnx key2 world
(integer) 0

127.0.0.1:6379> mset key1 v1 key2 v2 设置多个值
OK
127.0.0.1:6379> mget key1 key2 获取多个值
“v1”
“v2”
127.0.0.1:6379> msetnx key1 v1 key4 v4 msetnx是原子性操作,要么同时成功要么同时失败
(integer) 0

127.0.0.1:6379> getset key1 40 先获取,再设置(如果不存在,就返回null)
“v1”
127.0.0.1:6379> get key1
“40”

操作对象
127.0.0.1:6379> mset user:1:name zhangsan user:1:age 13
OK

Hash (map集合 k-map hash的命令都以h开头)

hset kuangshen myhash field1 存值
hget kuangshen myhash 取值

hmset myhash field1 hello field2 world 多存
hmget myhash field1 field2 多取

hgetall myhash 取所有的hash
hdel myhash field1 删除
hlen myhash 长度

127.0.0.1:6379> hkeys myhash 值获取hash中key
“field2”
“field3”
127.0.0.1:6379> hvals myhash 只获取hash中的vals
“world”
“1”

127.0.0.1:6379> HEXISTS myhash field1 判断hash中值是否存在
(integer) 0

127.0.0.1:6379> hset hash field3 5
(integer) 1
127.0.0.1:6379> HINCRBY myhash field3 1 增加1
(integer) 1

127.0.0.1:6379> hsetnx myhash filed5 nihao 如果存在则set成功
(integer) 1
127.0.0.1:6379> hsetnx myhash filed5 nihao 不存在就失败
(integer) 0

hash更适合对象
127.0.0.1:6379> hset user:1 name chenkang
(integer) 1
127.0.0.1:6379> hget user:1 name
“chenkang”

List:(链表 before node after ,left和right都可以插入值 ,如果key不存在,就创建链表)
127.0.0.1:6379> LPUSH list one 从左边放入list集合
(integer) 1
127.0.0.1:6379> LPUSH list tow
(integer) 2
127.0.0.1:6379> LPUSH list three
(integer) 3
127.0.0.1:6379> LRANGE list 0 -1 取出list其中所有的数据
“three”
“tow”
“one”
127.0.0.1:6379> LRANGE list 0 1 取出下边0 ,1 的数据
“three”
127.0.0.1:6379> rpush list zero 从右边放入list集合
(integer) 4
127.0.0.1:6379> lrange list 0 -1
“three”
“tow”
“one”
“zero”
127.0.0.1:6379> LPOP list 从左边移除第一个值
“three”
127.0.0.1:6379> RPOP list 从右边移除第一个值
“zero”
127.0.0.1:6379> exists list1 是否存在
(integer) 1

127.0.0.1:6379> lindex list 0 从下标取值
“tow”
127.0.0.1:6379> llen list 长度
(integer) 2
127.0.0.1:6379> ltrim list 0 -1 截断,截断后,list改变
OK
127.0.0.1:6379> rpoplpush list list1 从list左边拿出一个数据放入list1中
“one”

27.0.0.1:6379> lset list 1 haha 更新list中下边1的值,如果不存在就越界
(error) ERR index out of range
127.0.0.1:6379> lset list 0 haha
OK
127.0.0.1:6379> lrange list 0 -1 列出
“haha”

127.0.0.1:6379> linsert list before haha nihao 在 元素之前插入
(integer) 2

127.0.0.1:6379> linsert list after haha haoren 在元素之后插入

(integer) 4

Set(集合 set中值不能重复 命令开头以s开头)

127.0.0.1:6379> sadd myset hello sadd 往set集合中增加
(integer) 1
127.0.0.1:6379> sadd myset world
(integer) 1
127.0.0.1:6379> smembers myset 看set集合中所有的元素
“hello”
“world”
127.0.0.1:6379> sismember myset hello 判断一个值是否存在
(integer) 1
127.0.0.1:6379> SREM myset hello 删除set中指定的元素
(integer) 1
127.0.0.1:6379> scard myset set的长度
(integer) 1
127.0.0.1:6379> srandmember myset 随机取值
“nihao”
127.0.0.1:6379> spop myset 随机删除set中元素
“world”

smove myset chenkang myset1 将myset中元素移动到myset2中

127.0.0.1:6379> SDIFF myset1 myset 差集
“kuangshen”
127.0.0.1:6379> sdiff myset myset1
(empty array)
127.0.0.1:6379> SINTER myset myset1 取交集
“chenkang”
127.0.0.1:6379> sunion myset myset1 取并集
“chenkang”
“kuangshen”

ZSET(有序集合 ,不重复,命令以Z开头)

127.0.0.1:6379> zadd myset 2500 xiaohong
(integer) 1
127.0.0.1:6379> zadd myset 5000 zhangsan
(integer) 1
127.0.0.1:6379> zadd myset 500 kuangshen
(integer) 1

127.0.0.1:6379> ZRANGEBYSCORE myset -inf +inf 显示全部用户并排序
“kuangshen”
“xiaohong”
“zhangsan”
127.0.0.1:6379> ZRANGEBYSCORE myset -inf +inf withscores 显示全部用户并且附带成绩
“kuangshen”
“500”
“xiaohong”
“2500”
“zhangsan”
“5000”
127.0.0.1:6379> ZRANGEBYSCORE myset -inf 2500 withscores 显示工资小于2500 并且升序排列
“kuangshen”
“500”
“xiaohong”
“2500”
127.0.0.1:6379> zrem myset xiaohong 移除集合中的元素
(integer) 1
127.0.0.1:6379> zcard myset 获取有序集合中的个数
(integer) 2
127.0.0.1:6379> zrange myset 0 -1 升序排序
“kuangshen”
“zhangsan”
127.0.0.1:6379> ZREVRANGE myset 0 -1 降序排列
“zhangsan”
“kuangshen”
127.0.0.1:6379> zcount myset 1 4000 指定区间内的个数
(integer) 1
127.0.0.1:6379> zcard myset myset的元素数量
(integer) 2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值