6.1 问题
练习命令的使用,具体命令如下:
set getrange strlen append setbit bitcount
decr decrby incr incrby incrbyfloat
6.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:string 字符串
设置key及值,过期时间可以使用秒或毫秒为单位
setrange key offset value
192.168.4.56:6356> set x 9 ex 10 //单位秒
OK
192.168.4.56:6356>
192.168.4.56:6356> set y 29 px 10 //单位毫秒
OK
192.168.4.56:6356>
192.168.4.56:6356> set y 39 NX //不存在赋值
OK
192.168.4.56:6356> get y //变量值没变
"39"
192.168.4.56:6356>
192.168.4.56:6356> set y 49 xx //变量存在赋值
OK
192.168.4.56:6356> get y //变量变了
"49"
192.168.4.56:6356>
-
从偏移量开始复写key的特定位的值
192.168.4.51:6351> set first “hello world”
OK
192.168.4.51:6351> setrange first 6 “Redis” //改写为hello Redis
(integer) 11
192.168.4.51:6351> get first
“hello Redis” -
strlen key,统计字串长度
192.168.4.51:6379> strlen first
(integer) 11 -
append key value 存在则追加,不存在则创建key及value,返回key长度
192.168.4.51:6379> append myname jacob
(integer) 5 -
setbit key offset value 对key所存储字串,设置或清除特定偏移量上的位(bit),value值可以为1或0,offset为0~2^32之间,key不存在,则创建新key
192.168.4.51:6379> setbit bit 0 1 //设置bit第0位为1
(integer) 0
192.168.4.51:6379> setbit bit 1 0 //设置bit第1位为0
(integer) 0 -
bitcount key 统计字串中被设置为1的比特位数量
192.168.4.51:6379> setbit bits 0 1 //0001
(integer) 0
192.168.4.51:6379> setbit bits 3 1 //1001
(integer) 0
192.168.4.51:6379> bitcount bits //结果为2
(integer) 2
记录网站用户上线频率,如用户A上线了多少天等类似的数据,如用户在某天上线,则使用setbit,以用户名为key,将网站上线日为offset,并在该offset上设置1,最后计算用户总上线次数时,使用bitcount用户名即可,这样即使网站运行10年,每个用户仅占用10*365比特位即456字节
192.168.4.51:6379> setbit peter 100 1 //网站上线100天用户登录了一次
(integer) 0
192.168.4.51:6379> setbit peter 105 1 //网站上线105天用户登录了一次
(integer) 0
192.168.4.51:6379> bitcount peter
(integer) 2
-
decr key 将key中的值减1,key不存在则先初始化为0,再减1
192.168.4.51:6379> set z 10
OK
192.168.4.51:6379> decr z
(integer) 9
192.168.4.51:6379> decr z
(integer) 8
192.168.4.51:6379> decr bb
(integer) -1
192.168.4.51:6379> decr bb
(integer) -2 -
decrby key decrement 将key中的值,减去decrement
192.168.4.51:6379> set count 100
OK
192.168.4.51:6379> DECRBY cc 20 //定义每次减少20(步长)
(integer) -20
192.168.4.51:6379> DECRBY cc 20
(integer) -40 -
getrange key start end 返回字串值中的子字串,截取范围为start和end,负数偏移量表示从末尾开始计数,-1表示最后一个字符,-2表示倒数第二个字符
192.168.4.51:6379> set x 123456789
OK
192.168.4.51:6379> getrange x -5 -1
“56789”
192.168.4.51:6379> getrange x 0 4
“12345” -
incr key 将key的值加1,如果key不存在,则初始为0后再加1,主要应用为计数器
192.168.4.51:6379> set page 20
OK
192.168.4.51:6379> incr page
(integer) 21 -
incrby key increment 将key的值增加increment
192.168.4.51:6379> set x 10
OK
192.168.4.51:6379> incr x
(integer) 11
192.168.4.51:6379> incr x
(integer) 12 -
incrbyfloat key increment 为key中所储存的值加上浮点数增量 increment
192.168.4.51:6379> set num 16.1
OK
192.168.4.51:6379> incrbyfloat num 1.1
“17.2”