Redis学习笔记(二)字符串进阶

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:6379> set num 1
OK
127.0.0.1:6379> incr num
(integer) 2
127.0.0.1:6379> get num
"2"
127.0.0.1:6379> decr num
(integer) 1
127.0.0.1:6379> incrby num 2
(integer) 3
127.0.0.1:6379> decrby num 1
(integer) 2
127.0.0.1:6379> incrby num -1
(integer) 1
127.0.0.1:6379> decrby num -2
(integer) 3
127.0.0.1:6379> incrbyfloat num 1.2
"5.2"
127.0.0.1:6379> incrby num 1.2
(error) ERR value is not an integer or out of range
127.0.0.1:6379> incrbyfloat num -0.2
"5"

 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:6379> append str hello
(integer) 5
127.0.0.1:6379> append str  world
(integer) 10
127.0.0.1:6379> get str
"helloworld"
127.0.0.1:6379> substr str 0 4
"hello"
127.0.0.1:6379> getrange str 5 10
"world"
127.0.0.1:6379> setrange str 5 W
(integer) 10
127.0.0.1:6379> get str
"helloWorld"
127.0.0.1:6379> setrange str 12 !
(integer) 13
127.0.0.1:6379> get str
"helloWorld\x00\x00!"
root@localhost:~# redis-cli
127.0.0.1:6379> set bitstr ?
OK
127.0.0.1:6379> getbit bitstr 1
(integer) 0
127.0.0.1:6379> setbit bitstr 1 1
(integer) 0
127.0.0.1:6379> get bitstr
"\x7f"
127.0.0.1:6379> bitcount bitstr
(integer) 7

 

posted @ 2017-12-12 20:13  DanceInTheRain  阅读(172)  评论(0编辑  收藏  举报