字符串中不仅仅可以存储字符串,它可以存储以下 3 中类型的值 :

  • 字符串

  • 整数

  • 浮点数

Redis 可以对字符串进行截取等相关操作,对整数、浮点数进行增减操作。

自增自减命令

命令 用例和描述
INCR INCR key-name —— 将键存储的值加上 1
DECR DECR key-name —— 将键存储的值减去 1
INCRBY INCRBY key-name amount —— 将键存储的值加上整数 amount
DECRBY DECRBY key-name amount —— 将键存储的值减去整数 amount
INCRBYFLOAT INCRBYFLOAT key-name amount —— 将键存储的值加上浮点数 amount

例子:

127.0.0.1:> get key
(nil)
127.0.0.1:> incr key
(integer)
127.0.0.1:> incrby key
(integer)
127.0.0.1:> decr key
(integer)
127.0.0.1:> get key
""
127.0.0.1:> set key
OK
127.0.0.1:> incr key
(integer)
 

处理子串和二进制位的命令

命令 用例和描述
APPEND APPEND key value —— 将 value 追加到 key 当前值的末尾
GETRANGE GETRANGE key start end —— 获取指定区间的子串 (包含 start 和 end 位)
SETRANGE SETRANGE key offset value —— 将从 start 开始(包括)的子串设置为给定值
GETBIT GETBIT key offset —— 将字符串看做二进制位串,获取 offset 偏移量的二进制位值
SETBIT SETBIT key offset value —— 看做二进制位串,将其中偏移量为 offset 的二进制位设为 value
BITCOUNT BITCOUNT key [start end] —— 统计二进制为串里面值为 1 的数量
BITOP BITOP operation dest-key key-name [key-name ...] —— 对一个或多个二进制位串进行按位操作,结果存入 dest-key 中

例子 :

127.0.0.1:> append new-string-key "hello "
(integer)
127.0.0.1:> append new-string-key "world!"
(integer)
127.0.0.1:> get new-string-key
"hello world!"
127.0.0.1:> getrange new-string-key
"lo wo"
127.0.0.1:> setrange new-string-key H
(integer)
127.0.0.1:> get new-string-key
"Hello world!"
127.0.0.1:> setrange new-string-key W
(integer)
127.0.0.1:> get new-string-key
"Hello World!"
# setrange 即可替换字符串,又可增长字符串
127.0.0.1:> setrange new-string-key ", how are you?"
(integer)
127.0.0.1:> get new-string-key
"Hello World, how are you?"
127.0.0.1:>
#
127.0.0.1:> setbit another-key
(integer)
# = 进制数 ,对应的 ASCII 为 !
127.0.0.1:> setbit another-key
(integer)
127.0.0.1:> get another-key
"!"
 

Redis 笔记(二)—— STRING 常用命令的更多相关文章

  1. docker学习笔记二:常用命令

    docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...

  2. Redis启动服务和String常用命令

    Redis启动服务和String常用命令 1. 启动Redis服务 E:\redis>redis-server.exe redis.windows.conf _._ _.-``__ ''-._ ...

  3. redis学习-集合set常用命令

    redis学习-集合set常用命令   1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...

  4. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  5. 解析Redis操作五大数据类型常用命令

    摘要:分享经常用到一些命令和使用场景总结,以及对Redis中五大数据类型如何使用cmd命令行的形式进行操作的方法. 本文分享自华为云社区<Redis操作五大数据类型常用命令解析>,作者:灰 ...

  6. redis学习-散列表常用命令(hash)

    redis学习-散列表常用命令(hash)   hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...

  7. redis学习(二) redis数据结构介绍以及常用命令

    redis数据结构介绍 我们已经知道redis是一个基于key-value数据存储的数据结构数据库,这里的key指的是string类型,而对应的value则可以是多样的数据结构.其中包括下面五种类型: ...

  8. Oracle笔记 二、常用dba命令行

    1.给用户解锁 alter user scott account unlock; 2.注销.断开.切换当前用户连接 quit conn scott/tiger 3.用户权限查询 A .查看所有用户: ...

  9. 大数据入门第十七天——storm上游数据源 之kafka详解(二)常用命令

    一.kafka常用命令 1.创建topic bin/kafka-topics. --replication-factor --zookeeper mini1: // 如果配置了PATH可以省略相关命令 ...

  10. 大数据入门第十六天——流式计算之storm详解(二)常用命令与wc实例

    一.常用命令 1.提交命令 提交任务命令格式:storm jar [jar路径] [拓扑包名.拓扑类名] [拓扑名称] torm jar examples/storm-starter/storm-st ...

随机推荐

  1. Redis系列五 - 哨兵、持久化、主从

    问:骚年,都说Redis很快,那你知道这是为什么吗? 答:英俊潇洒的面试官,您好.我们可以先看一下 关系型数据库 和 Redis 本质上的区别. Redis采用的是基于内存的,采用的是单进程单线程模型 ...

  2. JavaScript中的内存释放

    C.C++语言需要手动管理内存的分配与释放(常用方法:malloc(), calloc(), realloc()和free()等).而JavaScript与Java.C#相似,内置了垃圾回收器,能自动 ...

  3. 多个文件名大小写不同,是因为运行代码是大写E,用vscode运行的是小写e,解决方案:手动npm run dev #There are multiple modules with names that only differ in casing.

    多个文件名大小写不同,是因为运行代码是大写E,用vscode运行的是小写e,解决方案:手动npm run dev #There are multiple modules with names that ...

  4. SpringBoot的启动流程是怎样的?SpringBoot源码(七)

    注:该源码分析对应SpringBoot版本为2.1.0.RELEASE 1 温故而知新 本篇接 SpringBoot内置的各种Starter是怎样构建的? SpringBoot源码(六) 温故而知新, ...

  5. 10. webdriver调用javascript

    webdriver提供了操作浏览器的前进和后退的方法,但是对于浏览器公东条并没有提供相应的操作方法.于是就需要借助JavaScript来控制浏览器的滚动条.webdriver提供了execute_sr ...

  6. 贪心-谷歌-857. 雇佣 K 名工人的最低成本

    2020-03-15 22:00:39 问题描述: 有 N 名工人. 第 i 名工人的工作质量为 quality[i] ,其最低期望工资为 wage[i] . 现在我们想雇佣 K 名工人组成一个工资组 ...

  7. 动态规划-Distinct Subsequences

    2020-01-03 13:29:04 问题描述: 问题求解: 经典的动态规划题目,一般来说dp题目是递推关系公式难想,但是实际代码量还是比较少的. 有尝试过dfs来做,但是由于时间复杂度是指数级别的 ...

  8. 使命召唤:战区国际服ID注册与登录

    命召唤:战区 国际服ID注册与登录 1.下面官网网页注册国际服账号.2登录游戏.就这么简单.(前提是网咖.电竞宾馆.已经提供好游戏)  !!!注意 如果是网吧网咖电竞宾馆,用其给你提供的游戏图标进入游 ...

  9. VScode+phpStudy搭建php代码调试环境

    一.安装Visual Studio Code 官网:https://code.visualstudio.com/ 下载安装包后,按照默认安装即可 安装中文语言环境 点击左侧工具栏的 extension ...

  10. Nuget多项目批量打包上传服务器的简明教程

    本篇不会介绍Nuget是什么,如何打包上传Nuget包,怎么搭建私有Nuget服务器.这些问题园子里都有相应的文章分享,这里不做过多阐述.另外本文假设你已经下载了Nuget.exe,并且已经设置好了环 ...