redis常见操作命令-string

在key对应的value后面追加一个字符串:APPEND key 字符串  #返回的是最新字符串长度,如果字符串不存在就相当于set了一个字符串

127.0.0.1:6379> keys *
1) "bb"
2) "cc"
127.0.0.1:6379> get bb
"234"
127.0.0.1:6379> APPEND bb woaini
(integer) 9
127.0.0.1:6379> get bb
"234woaini"


批量set value值和获取value值:MSET key1 value1  key2 value2  key3 value 3  ;   MGET key1 key2 key3

27.0.0.1:6379> MSET year 2015 month 01 day 23
OK
127.0.0.1:6379> get year
"2015"
127.0.0.1:6379> get month
"01"
127.0.0.1:6379> get day
"23"
127.0.0.1:6379> MGET year month day
1) "2015"
2) "01"
3) "23"
127.0.0.1:6379> 

批量set value值,如果有一个key已经存在,则全部设置失败,要么全部成功要么全部失败:MSETNX key1 value1  key2 value2 key3 value3

127.0.0.1:6379> keys *
1) "month"
2) "day"
3) "year"
127.0.0.1:6379> MSETNX good 123 day 456
(integer) 0
127.0.0.1:6379> get good
(nil)
127.0.0.1:6379> keys *
1) "month"
2) "day"
3) "year"


对key存储的值,设置或者清除指定偏移上的位  #返回原来偏移上存储的位

127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> 
127.0.0.1:6379> 
127.0.0.1:6379> SETBIT mybit 20 1
(integer) 0
127.0.0.1:6379> GETBIT mybit 20
(integer) 1
127.0.0.1:6379> GETBIT mybit 5
(integer) 0
127.0.0.1:6379> SETBIT mybit 20 0
(integer) 1
127.0.0.1:6379> GETBIT mybit 20
(integer) 0
127.0.0.1:6379> SETBIT mybit 5 1
(integer) 0
127.0.0.1:6379> GETBIT mybit 5
(integer) 1

计算给定的字符串,bit位为1的数量: BITCOUNT key [start] [end]

127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> SETBIT mm 5 1          #100000
(integer) 0
127.0.0.1:6379> GETBIT mm 5
(integer) 1
127.0.0.1:6379> BITCOUNT mm
(integer) 1
127.0.0.1:6379> SETBIT mm 0 1       #100001
(integer) 0
127.0.0.1:6379> BITCOUNT mm
(integer) 2

对1个或者多个保存二进制的字符串key进行位操作,并将结果保存在一个新的key上: SETOP [AND][OR][NOT][XOR] savekey source-key1 source-key2 [...]

取反: SETOP [NOT]  savekey key

127.0.0.1:6379> SETBIT mm 0 1
(integer) 0
127.0.0.1:6379> SETBIT mm 5 1
(integer) 0
127.0.0.1:6379> SETBIT nn 0 1
(integer) 0
127.0.0.1:6379> SETBIT nn 5 1
(integer) 0
127.0.0.1:6379> SETBIT nn 3 1
(integer) 0
127.0.0.1:6379> BITOP AND and_result mm nn
(integer) 1
127.0.0.1:6379> GETBIT and_result 0
(integer) 1
127.0.0.1:6379> GETBIT and_result 1
(integer) 0
127.0.0.1:6379> GETBIT and_result 2
(integer) 0
127.0.0.1:6379> GETBIT and_result 3
(integer) 0
127.0.0.1:6379> GETBIT and_result 4
(integer) 0
127.0.0.1:6379> GETBIT and_result 5
(integer) 1
127.0.0.1:6379> BITOP NOT and_result
(error) ERR wrong number of arguments for 'bitop' command
127.0.0.1:6379> BITOP NOT not_result and_result
(integer) 1
127.0.0.1:6379> GETBIT not_result 0
(integer) 0
127.0.0.1:6379> GETBIT not_result 1
(integer) 1
127.0.0.1:6379> GETBIT not_result 2
(integer) 1
127.0.0.1:6379> GETBIT not_result 3
(integer) 1
127.0.0.1:6379> GETBIT not_result 4
(integer) 1


将value值关联到key上面,并且将key的生存时间设置为secouds(秒): SETEX key 秒数 value     #他和set key value  ; expire key seconds是不一样的,这个是一个原子操作设置值和设置超时时间是在同一时间完成的。

27.0.0.1:6379> SETEX mm 50 woaini
OK
127.0.0.1:6379> get mm
"woaini"
127.0.0.1:6379> TTL mm
(integer) 44

将value值关联到key上面,并且将key的生存时间设置为millisecouds(毫秒): PSETEX key 毫秒 value       #这个是一个原子操作设置值和设置超时时间是在同一时间完成的

127.0.0.1:6379> PSETEX mm 7000 woaini1314
OK
127.0.0.1:6379> TTL mm
(integer) 5
127.0.0.1:6379> TTL mm
(integer) 3


将value值关联到key上面,只有当key不存在才成功:SETNX key value

127.0.0.1:6379> set mm woaini
OK
127.0.0.1:6379> keys *
1) "mm"
127.0.0.1:6379> SETNX mm woaini1314
(integer) 0
127.0.0.1:6379> get mm
"woaini"
127.0.0.1:6379> SETNX gg zoukai
(integer) 1
127.0.0.1:6379> get gg
"zoukai"


将key中存储的值加一,如果key不存在就创建一个默认是0,然后再执行加一操作:INCR key

将key中存储的值减一,如果key不存在就创建一个默认是0,然后再执行减一操作:DECR key

127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> INCR count
(integer) 1
127.0.0.1:6379> get count
"1"
127.0.0.1:6379> DECR count
(integer) 0
127.0.0.1:6379> get count
"0"

将key中存储的值加n,如果key不存在就创建一个默认是0,然后再执行加n操作:INCRBY key n

将key中存储的值减n,如果key不存在就创建一个默认是0,然后再执行减n操作:DECRBY key n

127.0.0.1:6379> keys *
1) "count"
127.0.0.1:6379> get count
"0"
127.0.0.1:6379> DECRBY count 99
(integer) -99
127.0.0.1:6379> get count
"-99"
127.0.0.1:6379> INCRBY count 100
(integer) 1
127.0.0.1:6379> get count
"1"


返回字符串的长度:STRLEN key

127.0.0.1:6379> keys *
1) "count"
127.0.0.1:6379> set mm woaini1314
OK
127.0.0.1:6379> STRLEN mm
(integer) 10


用value覆盖指定key的值,从offset开始:SETRANGE key offset value   #offset是从0开始算

127.0.0.1:6379> set mm "eat apple very good"
OK
127.0.0.1:6379> get mm
"eat apple very good"
127.0.0.1:6379> SETRANGE mm 11 "bad idea"
(integer) 19
127.0.0.1:6379> get mm
"eat apple vbad idea"
127.0.0.1:6379> 

从key保存的value获取指定offset的子字符串:GETRANGE key start end

127.0.0.1:6379> get mm
"eat apple vbad idea"
127.0.0.1:6379> GETRANGE mm 1 5
"at ap"
127.0.0.1:6379> get mm 0 2
(error) ERR wrong number of arguments for 'get' command
127.0.0.1:6379> getrange mm 0 2
"eat"


设置key的新值,返回旧值:GETSET key value: 如果不存在就nil,如果key存在但是不是value 返回错误

127.0.0.1:6379> GETSET mm 1112
"eat apple vbad idea"
127.0.0.1:6379> get mm
"1112"
127.0.0.1:6379> 


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

美了美了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值