Redis String(字符串) 命令使用

本文主要用作学习记录,参考http://redisdoc.com/index.html

#append

$ src/redis-cli -c -p 8029
127.0.0.1:8029> exists mykey
(integer) 0
> append mykey 'nihao'
(integer) 5
> append mykey 'world'
(integer) 10
> get mykey
"nihaoworld"
> append ts '0043'
(integer) 4
> append ts '0035'
(integer) 8
> getrange ts 0 3
"0043"
> getrange ts 4 7
"0035"


#BITCOUNT
BITCOUNT key [start][end]
计算给定字符串中,被设置为1的比特位的数量
一般情况下,给定的整个字符串都会被进行计数,通过指定额外的 start 或 end 参数,可以让计数只在特定的位上进行。
start 和 end 参数的设置和 GETRANGE 命令类似,都可以使用负数值: 比如 -1 表示最后一个字节, -2 表示倒数第二个字节,以此类推。
不存在的 key 被当成是空字符串来处理,因此对一个不存在的 key 进行 BITCOUNT 操作,结果为 0 。
>set andy a
OK
> bitcount andy
(integer) 3


#BITTOP

#DECR
将 key 中储存的数字值减一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。
> set failure_times 10
OK
> decr failure_times
(integer) 9
> decr failure_times1
(integer) -1

#DECRBY
DECRBY key decrement
将 key 所储存的值减去减量 decrement 。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECRBY 操作。
> set failure_times 10
OK
> decr failure_times
(integer) 9
> decrby failure_times 2
(integer) 7


#GET
GET key
返回 key 所关联的字符串值。
如果 key 不存在那么返回特殊值 nil 。
> set db redis
OK
> get db
"redis"
> get db1
(nil)

#GETRANGE
GETRANGE key start end
返回 key 中字符串值的子字符串,字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。
负数偏移量表示从字符串最后开始计数, -1 表示最后一个字符, -2 表示倒数第二个,以此类推。
> set greeting "hello,my friend"
OK
> getrange greeting 0 4
"hello"


#GETSET
将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
当 key 存在但不是字符串类型时,返回一个错误。
> getset db mongodb
(nil)
> getset db redis
"mongodb"
> get db
"redis"

#INCR
将 key 中储存的数字值增一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
> set page_view 20
OK
> incr page_view
(integer) 21

#INCRBY
将 key 所储存的值加上增量 increment 。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令。
> set page_view 20
OK
> incr page_view
(integer) 21
> incrby page_view 50
(integer) 71

#INCRBYFLOAT
INCRBYFLOAT key increment
为 key 中所储存的值加上浮点数增量 increment 。
如果 key 不存在,那么 INCRBYFLOAT 会先将 key 的值设为 0 ,再执行加法操作。
> set page_view 20
OK
> incr page_view
(integer) 21
> incrby page_view 50
(integer) 71
> incrbyfloat page_view 01
"72"
> incrbyfloat page_view 0.1
"72.1"
> incrbyfloat page_view1 0.1
"0.1"

#MGET
MGET key [key ...]
返回所有(一个或多个)给定 key 的值。
如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。因此,该命令永不失败。
> set redis redis.com
OK
> mget redis
1) "redis.com"

#MSET
MSET key value [key value ...]
同时设置一个或多个 key-value 对。
如果某个给定 key 已经存在,那么 MSET 会用新值覆盖原来的旧值,如果这不是你所希望的效果,请考虑使用 MSETNX 命令:它只会在所有给定 key 都不存在的情况下进行设置操作。
MSET 是一个原子性(atomic)操作,所有给定 key 都会在同一时间内被设置,某些给定 key 被更新而另一些给定 key 没有改变的情况,不可能发生。

#MSETNX
MSETNX key value [key value ...]
同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
即使只有一个给定 key 已存在, MSETNX 也会拒绝执行所有给定 key 的设置操作。
MSETNX 是原子性的,因此它可以用作设置多个不同 key 表示不同字段(field)的唯一性逻辑对象(unique logic object),所有字段要么全被设置,要么全不被设置。

#PSETEX
PSETEX key milliseconds value
这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。
> psetex mykey 100000 hello
OK
> pttl mykey
(integer) 97533

#STRLEN
STRLEN key
返回 key 所储存的字符串值的长度。
当 key 储存的不是字符串值时,返回一个错误。
> set mykey "helloworld"
OK
> strlen mykey
(integer) 10

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值