redis学习笔记(四)redis基本使用(基本命令)

一、基本命令

1.redis-cli -p {port} -n {1-16} // 连接端口和指定库
例子:redis-cli -p 6379 -n 1
2.exit // 退出redis客户端
3.help 、 help @string 查看帮助文档
4.select 8 //换库
5.keys * // 获取所有的键
6.FLUSHDB //清空库中数据

二、string的命令

1.help @string 查看string的帮助文档
2.set {key} {value} {过期时间,秒为单位} {NX|XX}
NX指key不存在时才能设置成功
3.mset {key} {value} {key} {value} 批量设置key value

三、list的命令

1.help @list 查看list所有命令
2.lpush {key} [lists] //向list左边push n个元素
例子:lpush k1 a b c d e f
注:lpush是类似栈的操作,执行完上面的命令后,f才是第一位
3.rpush {key} [lists]
同理lpush
4.lpop // 左弹出
5.rpop // 右弹出
注:
同向命令,如lpush+lpop,相当于一个栈
反向命令,如lpush+rpop,相当于一个队列
6.lrange {key} {begin} {end}
例子:lrange k1 0 -1 // 获取0到-1的所有元素
注:正数的意思是元素下标,负数的意思是反向下标,如倒数第一个元素下标即是list.size()-1,也是-1;倒数第二个元素下标即是list.size()-2,也是-2
7.lindex {key} {index} // 取第index个元素
例子:lindex k1 2 // 取第2个 元素
8.lset {key} {index} {value} //改第index个元素
例子:lset k1 2 2 //修改第3个元素为2
9.lrem {key} {count} {value} //移除key的count个value(从左边数起)
lrem k3 2 //a移除k3的2个a,会移除前2个a
10.linsert {key} after {value} {value}
linsert k3 after 6 a //6的后面插入一个a
注:6不是下标,是元素,且只能在第一个6后面加
11.linsert {key} before {value} {value}
linsert k3 before b a //b的前面插入一个a
同上

四、hash命令

1.help @hash // 查看所有hash命令
2.hset {key} {mapKey} {value} // 设置hash的key和value
hset sean name zzl // 设置sean的name为zzl
3.hmset {key} {mapKey} {value} {mapKey} {value} // 批量set
hmset sean age 18 address beijing
4.hget {key} {hashKey} // 获取hashKey的值
hget sean name //获取sean的name
5.hmget {key} {hashKey} {hashKey} // 批量获取hashKey的值
hmget sean age
6.hkeys {key} // 获取key的所有hashKey
hkeys sean
7.hvals {key} // 获取key的所有value
hvals sean
8.hgetall {key} // 获取所有hashKey和value
hgetall sean
9.hincrebyfloat {key} {hashKey} {value} // 浮点数增长 ,hash也支持计算
hincrebyfloat sean age 0.5 // age增长0.5

五、set类型

1.help @set 查看set所有命令
2.sadd {key} {value} {value} … // 批量add
sadd k1 a b c // add a b c
3.smembers {key} // 获取key的所有元素
smembers k1 // k1所有元素
4.srem {key} {value} {value} // 批量删除key的元素
srem k1 a b // k1删除ab
5.sinter {key} {key} // 交集
sinter k2 k3 // k2和k3的交集
6.sinterstore {returnKey} {key} {key} … // 也是交集,并把结果集赋给returnKey
7.sinterstore dest k2 k3 // 也是交集,返回到dest中
8.sunion {key} {key} // 并集
sunion k2 k3 // k2和k3的并集
9.sunionstore {returnKey} {key} {key} …//同理sinterstore
10.sdiff {key} {key} // 差集 (有方向的)
sdiff k2 k3 // 差集 (有方向的),k2先则结果集为k2-k3的元素,反之是k3-k2的元素
11.srandmember {key} {count} {-count} … // (随机事件,正数时,取出选取返回不重复的5个,不能超过已有集合。负数时,可以取出带重复的结果集,一定满足你的数量)
例子: k1 有10个元素
srandmember k1 5 -5 10 -10
返回4个结果集为:{5个不重复的元素} {5个可能重复的元素} {全部元素} {10个可能重复的元素}
注:此命令并不会改变set内部元素的个数
12.spop {key}
spop k1 //随机弹出一个元素

六、sortSet(zset)命令

1.help @zset
2.zadd {key} {score} {value} {score} {value} … // 批量add
zadd k1 8 appple 2 banana 3 orange // 批量add
3.zrange {key} {begin} {end} withscores // 获取所有分数及元素
zrange k1 0 -1 withscores // 获取k1 所有分数及元素
4.zrangebyscore {key} {scoreBegin} {scoreEnd} // 获取分值范围的元素
zrangebyscore k1 3 8 // 获取k1 3-8分数的元素
5.zrevrange {key} {begin} {end} // 返回元素,从大到小排列(反向排列)
zrevrange k1 0 2
6.zscore {key} {value} // 查看value的分数
zscore k1 apple // 查看apple的分数
7.zrank {key} {value} // 查看value分值的排名
zrank k1 apple
8.zincreby {key} {score} {value} // 增加value的分值
zincreby k1 2.5 banana
9.zunionstore {key} {后面跟的元素个数} {value} {value} {…} // 取并集,相同分数会相加返回
zunionstore unkey 2 k1 k2
10.zunionstore {key} {后面跟的元素个数} {value} {value} aggregate max // 取最大值
注:zset物理内存是左小右大,不随命令发生变化(zrange zrevrange)

七、bitmap 命令

setbit {key} {offset} {value} // offset是指2进制位的偏移量
setbit k1 1 1 -> @
setbit k1 7 1 -> A
setbit k1 9 1 -> A@

区间(begin/end):是8位的字节,而不是offset

bitpos {key} {0/1} {begin} {end}// 找区间的第1个{0/1}出现的offset
bitpos k1 1 0 0 -> 1
bitpos k1 1 1 1 -> 9
bitpos k1 1 0 1 -> 1

bitcount {key} {begin} {end} // 区间里找1的数量
bitcount k1 0 1 -> 3
bitcount k1 0 0 -> 2
bitcount k1 1 1 -> 1

bittop {and/or} {returnKey} {key} {key}// 二进制位与或非操作
bittop and andkey k1 k2 -> @ 与
bittop or orkey k1 k2 -> 或

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值