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”

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

  1. 浅显易懂 Makefile 入门 (08)— 默认 shell (/bin/sh)、命令回显、make参数(-n 只显示命令但不执行,-s 禁止所有回显)、单行命令、多行命令、并发执行

    1. shell 相关 1.1 默认 shell Makefile 所使用的命令是由 shell 命令行组成,他们是一条一条执行的. 多个命令之间要使用分号隔开,Makefile 中的任何命令都要以 ...

  2. mysql ls命令,Linux 常用 ls命令详解

    ls命令是linux常用命令之一,用于在命令控制台提示符中列出目录和文件信息. 一.ls命令用法: ls命令运行在命令提示符终端,用法如下.其中[选项]和为可选参数,可以一零个或者多个选项:[文件]也 ...

  3. linux的帮助命令及区别,Linux命令及帮助

    学习linux得熟练的掌握linux的命令,linux的命令分内部命令和外部命令. 内部命令:内置于shell中,属于shell的一部分 外部命令:shell之外的命令,在文件系统的某个路径下有一个与 ...

  4. bash的常见命令及文章查看命令

    回顾: FHS,命令及bash命令历史 FHS: /bin,/sbin, /lib, /lib64, /etc /home,/root /boot /media,/mnt /proc,/sys /tm ...

  5. USEARCH11命令大全,200+命令中文简介,快速查找需要功能

    序列比对 嵌合体检测和过滤 序列.树和基于图形的聚类 距离矩阵 多样性分析 fastq格式文件处理 Fasta和fastq文件处理格式 机器学习和鉴定有用OTUs 其它命令 OTU分析和去噪 OTU表 ...

  6. 不是内部或外部命令 windows10 执行 linux命令

    不是内部或外部命令 windows10 执行 linux命令 打开 PowerShell 输入linux命令

  7. CMD 一条命令 执行 多条命令

    CMD 一条命令 执行 多条命令 如果想一次运行多条命令可能用到的连接符个人了解到的有三个:&&,|| 和 &. aa && bb 含义:执行aa,成功后再执行 ...

  8. pycharm中导出依赖包 在pycharm下边的Terminal打开命令行终端执行命令

    pycharm中导出依赖包 1 在pycharm下边的Terminal打开命令行终端执行命令 D:\nlp\salary\aSalary>pip freeze > d:\nlp\salar ...

  9. linux每日命令(15):tail命令

    阅读目录(Content) 一.命令格式; 二.命令功能: 三.命令参数: 四.使用实例: 1.显示log1文件最后3行内容 2. 从第3行开始显示log1文件内容 3.循环刷新查看文件内容 tail ...

最新文章

  1. 使用pytorch将数据集分成一份一份的
  2. asp网络编程:用ASP打开远端MDB文件的方法
  3. 后端学习 - MyBatis
  4. oracle list 分区详解,oracle的List分区及分区索引
  5. 华为Mate 30系列将升级25W无线快充:充电方面无对手
  6. Helm 3 完整教程(十三):Helm 函数讲解(7)列表函数
  7. 一款功能强大的 IP 查询工具!
  8. android车载桌面,车载桌面Car Launcher Pro
  9. 无法定位程序输入点GetOverlappedResultEx 于动态链接库 KERNEL32.dll 上。
  10. APUE-第5章 标准IO库
  11. “健康码”背后的腾讯C2B大练兵
  12. r语言中which的使用_R语言绘图 | 使用pheatmap快速绘制热图
  13. 【最全最详细】publiccms使用教程
  14. python学习之钉钉打卡
  15. Java反射系列--Type接口及其子接口
  16. 最长公共前后缀(KMP中next数组求法)
  17. 【从入门到精通 项目1】项目经理带你-零基础学习C/C++
  18. 2019链塔大会|傅明副理事长:粤港澳大湾区将打造区块链离岸孵化器模式
  19. Pandas库离线安装总结
  20. android spc 能卸载吗,S7700( V200R003C00SPC500)无法删除radius模板

热门文章

  1. 打开计算机首先映入眼帘的一整屏称之为桌面,利用“活动桌面” 让桌面也“闪”起来...
  2. 巴菲特:我可以发2100万个巴菲特币|附视频
  3. 串口、网口等自定义通信协议的问题
  4. 有关获取android唯一识别号IMEI的问题
  5. linux|shell脚本|有趣的知识---格式化输出日志和脚本调试方法以及kubernetes集群核心服务重启和集群证书备份脚本
  6. 【富文本】CodeBlocks最新版20.03+汉化包云盘下载及用法
  7. adobe dreamweaver cs5序列号
  8. 安卓Bmob后端云的使用(增删改查、上传图片、推送服务等)
  9. 电销行业通讯难题的解决方案出来了!
  10. 电脑端(PC)按键精灵——3.其他命令