1、增减操作

字符串可以储存字节串、整数、浮点数三种类型的值,如果值无法被解释为十进制的整数或浮点数,那么对此值进行增减操作会返回错误,如果对一个不存在的或者保存了空串的键进行增减操作,Redis将当作0处理。

INCR key_name(键储存的值加1)

DECR key_name(键储存的值减1)

INCRBY key_name num(键储存的值加整数num)

DECRBY key_name num(键储存的值减整数num)

INCRBYFLOAT key_name num (键储存的值加浮点数num)

root@localhost:~# redis-cli
127.0.0.1:> set num
OK
127.0.0.1:> incr num
(integer)
127.0.0.1:> get num
""
127.0.0.1:> decr num
(integer)
127.0.0.1:> incrby num
(integer)
127.0.0.1:> decrby num
(integer)
127.0.0.1:> incrby num -
(integer)
127.0.0.1:> decrby num -
(integer)
127.0.0.1:> incrbyfloat num 1.2
"5.2"
127.0.0.1:> incrby num 1.2
(error) ERR value is not an integer or out of range
127.0.0.1:> incrbyfloat num -0.2
""

 2、处理字符串子串与二进制位

APPEND key_name value(将value追加至值末尾)

GETRANGE key_name index1 index2(获取从index1至index2范围内的子串,包含起止位置)GETRANGE 由SUBSTR改名而来

SETRANGE key_name offset value(将从offset开始的子串设置为value)

GITBIT key_name offset(返回二进制位串中偏移量为offset的值)

SETBIT key_name offset value(将二进制串中偏移量为offset的值设为value)

BITCOUNT key_name [index1 index2](统计二进制串中值为1的二进制位的个数,如果给定了范围,则在范围内统计)

BITOP operation key1 key2 [key3...](对一个或多个二进制串执行与(AND)、或(OR)、异或(XOR)、非(NOT)中的一种操作,结果保存在key1)

root@localhost:~# redis-cli
127.0.0.1:> append str hello
(integer)
127.0.0.1:> append str world
(integer)
127.0.0.1:> get str
"helloworld"
127.0.0.1:> substr str
"hello"
127.0.0.1:> getrange str
"world"
127.0.0.1:> setrange str W
(integer)
127.0.0.1:> get str
"helloWorld"
127.0.0.1:> setrange str !
(integer)
127.0.0.1:> get str
"helloWorld\x00\x00!"
root@localhost:~# redis-cli
127.0.0.1:> set bitstr ?
OK
127.0.0.1:> getbit bitstr
(integer)
127.0.0.1:> setbit bitstr
(integer)
127.0.0.1:> get bitstr
"\x7f"
127.0.0.1:> bitcount bitstr
(integer)

Redis学习笔记(二)字符串进阶的更多相关文章

  1. Redis学习笔记二 (BitMap算法分析与BitCount语法)

    Redis学习笔记二 一.BitMap是什么 就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身.我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省 ...

  2. amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules

    amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules 一.总结 1.见名知意:见那些class名字知意,见函数名知意,见文件名知意 例如(HISTORY.md Web 组件更新历史 ...

  3. amazeui学习笔记二(进阶开发4)--JavaScript规范Rules

    amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...

  4. amazeui学习笔记二(进阶开发3)--HTML/CSS规范Rules

    amazeui学习笔记二(进阶开发3)--HTML/CSS规范Rules 一.总结 1.am:以 am 为命名空间 2.模块状态: {命名空间}-{模块名}-{状态描述} 3.子模块: {命名空间}- ...

  5. amazeui学习笔记二(进阶开发2)--Web组件简介Web Component

    amazeui学习笔记二(进阶开发2)--Web组件简介Web Component 一.总结 1.amaze ui:amaze ui是一个web 组件, 由模板(hbs).样式(LESS).交互(JS ...

  6. amazeui学习笔记二(进阶开发1)--项目结构structure

    amazeui学习笔记二(进阶开发1)--项目结构structure 一.总结 1.项目结构:是说的amazeui在github上面的项目结构,二次开发amazeui用 二.项目结构structure ...

  7. redis 学习笔记二 (简单动态字符串)

    redis的基本数据结构是动态数组 一.c语言动态数组 先看下一般的动态数组结构 struct MyData { int nLen; char data[0]; }; 这是个广泛使用的常见技巧,常用来 ...

  8. Redis学习笔记二

    学习Redis添加Object时,由于Redis只能存取字符串String,对于其它数据类型形容:Int,long,double,Date等不提供支持,因而需要设计到对象的序列化和反序列化.java序 ...

  9. StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用

    ConnectionMultiplexer ConnectionMultiplexer 是StackExchange.Redis的核心对象,用这个类的实例来进行Redis的一系列操作,对于一个整个应用 ...

  10. ES6学习笔记(二)——字符串扩展

    相信很多人也和我一样,不喜欢这样循规蹈矩的逐条去学习语法,很枯燥乏味.主要是这样学完一遍之后,没过一段时间就忘到九霄云外了.不如实际用到的时候研究它记得牢靠,所以我就整理成笔记,加深记忆的同时便于复习 ...

随机推荐

  1. java中wait和notify

    在JAVA中,是没有类似于PV操作.进程互斥等相关的方法的.JAVA的进程同步是通过synchronized()来实现的,需要说明的是,JAVA的synchronized()方法类似于操作系统概念中的 ...

  2. web 基本概念辨异 —— URI 与 URL

    两者的相同点: 都是唯一的,对资源(R:Resource)起到唯一的标识作用: 两者的不同点: URL 是 URI 的子集(URI 是父类,URL 是子类),是一种特定的实现形式: URI 可以是身份 ...

  3. BZOJ_2140_稳定婚姻_强连通分量

    BZOJ_2140_稳定婚姻_强连通分量 Description 我国的离婚率连续7年上升,今年的头两季,平均每天有近5000对夫妇离婚,大城市的离婚率上升最快,有研究婚 姻问题的专家认为,是与简化离 ...

  4. NSCoding

    在IOS的开发中,小数据量的持久化都用NSUserDefaults来实现,但是NSUserDefaults只能保存NSString, NSNumber, NSDate, NSArray, NSDict ...

  5. mac上python3安装HTMLTestRunner

    下载支持python3版本的HTMLTestRunner.py文件后,拷贝到python3的lib目录下 在终端输入如下命令: 将HTMLTestRunner.py文件拷贝到如下目录后,pycharm ...

  6. BZOJ3996 线性代数

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3996 转化题目给的条件 $$D = \sum_{i=1}^n \sum_{j=1}^n{A(i ...

  7. 什么是位、字节、字、KB、MB?

    1. 位(bit)是计算机里最小的数据单位,每一位的状态只能是0或者1 2. 字节(Byte)      1Byte = 8 bit      它是存储空间的基本计量单位,1byte可以存储一个英文字 ...

  8. Event Handling Guide for iOS--(三)---Event Delivery: The Responder Chain

    Event Delivery: The Responder Chain 事件传递:响应链 When you design your app, it’s likely that you want to ...

  9. ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 17. 基于Claim和Policy的授权 上

    首先补一下昨天没有讲的东西 只有管理员才能访问UserController RoleController都加上这个角色 Cliam 不是管理员角色的用户访问 cliam是name个Value值的键值对 ...

  10. 洛谷 - P1115 - 最大子段和 - 简单dp

    https://www.luogu.org/problemnew/show/P1115 简单到不想说……dp[i]表示以i为结尾的最大连续和的值. 那么答案肯定就是最大值了.求一次max就可以了. 仔 ...