练习命令的使用,具体命令如下: set getrange strlen append setbit bitcount decr decrby incr incrby incr

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>
  1. 从偏移量开始复写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”

  2. strlen key,统计字串长度

    192.168.4.51:6379> strlen first
    (integer) 11

  3. append key value 存在则追加,不存在则创建key及value,返回key长度

    192.168.4.51:6379> append myname jacob
    (integer) 5

  4. 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

  5. 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
  1. 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

  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

  3. 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”

  4. 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

  5. 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

  6. 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”

发布了324 篇原创文章 · 获赞 12 · 访问量 8202

猜你喜欢

转载自blog.csdn.net/weixin_45843450/article/details/105520478