redis中设置获取值--字符串
储存文字、数字或二进制数据
1,为字符串键设置值 set strkey "strvalue"
2,获取字符串的值 get strkey
3,只在键不存在的情况下设置 setnx strkey "strvlaue";
键不存在返回1,已存在设置失败,返回0
4,同时设置多个键值 MSET key1 "v1" key2 "v2" key3 "v3"
5,同时获取多个键值 mget key1 key2 key3
6,同时设置多个不存在的键值 MSETNX key1 "v1" key2 "v2" key3 "v3"
只有在所有给定键都不存在的情况下, MSETNX 会为所有给定键设置值,效果和同时执行多个 SETNX 一样。如果给定的键至少有一个是存在的,那么 MSETNX 将 不执行任何设置操作。键不存在返回1,已存在设置失败,返回0
7,设置新值并返回旧值 getset key1 v1
set key1 "v1";
getset key1 "v2"; ---返回 v1,
get key1;---返回v2
8,追加内容到字符串末尾 append
set key1 "v1";
append key1 "--kkk";
get key1;---返回v1--kkk
9,返回值的长度 strlen key1
10,根据索引替换值,正数索引
set key1 "one";
setrange key1 1 "range";
get key1;---返回orange
11,索引取值 包含start end
set key1 "hello world";
getrange key1 0 4; ---返回 "hello"
getrange key1 -5 -1; ---返回 "world"
12,增加或减少数字的值
INCRBY num 100 ;--键 num 不存在,命令先将 num 的值初始化为 0,然后再执行加 100 操作 ,返回 (integer) 100
INCRBY num 25 ; 将值再加上 25 返回 (integer) 125
DECRBY num 10 ; 将值减少 10 返回 (integer) 115
DECRBY num 50; 将值减少 50 返回 (integer) 6
13,增一和减一
SET num 10 ;
INCR num ;返回(integer) 11
DECR num ;返回(integer) 10
14,浮点数增减
SET num 10 ; INCRBYFLOAT num 3.14 ;返回"13.14"
INCRBYFLOAT num -2.04 ;通过传递负值来达到做减法的效果 返回"11.1"
即使字符串键储存的是数字值,它也可以执行 APPEND、STRLEN、SETRANGE 和 GETRANGE 。 当用户针对一个数字值执行这些命令的时候,Redis 会先将数字值转换为字符串,然后再执行命令。
15,二进制数据操作,SET 、GET 、SETNX、 APPEND 等命令同样可以用于设置二进制数据。
16,设置二进制位的值 SETBIT key index value 将给定索引上的二进制位的值设置为 value ,命令返回被设置的位原来储存的旧值。
17,获取二进制位的值 GETBIT key index 返回给定索引上的二进制位的值。
18,计算值为 1 的二进制位的数量 BITCOUNT key [start] [end] 计算并返回字符串键储存的值中,被设置为 1 的二进制位的数量。 一般情况下,给定的整个字符串键都会进行计数操作,但通过指定额外的 start 或 end 参数,可以让计 数只在特定索引范围的位上进行。 start 和 end 参数的设置和 GETRANGE 命令类似,都可以使用负数值:比如 -1 表示最后一个位,而 -2 表示倒数第二个位,以此 类推。
19,二进制位运算 BITOP operation destkey key [key ...]
命令的返回值为计算所得结果的字节长度,相当于对 destkey 执行 STRLEN
operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种:
BITOP AND destkey key [key ...] ---对一个或多个 key 求逻辑并,并将结果保存到 destkey 。
BITOP OR destkey key [key ...] ---对一个或多个 key 求逻辑或,并将结果保存到 destkey 。
BITOP XOR destkey key [key ...] ---对一个或多个 key 求逻辑异或,并将结果保存到 destkey 。
BITOP NOT destkey key ---对给定 key 求逻辑非,并将结果保存到 destkey 。
20,STRLEN、SETRANGE 和 GETRANGE 不适用于中文
STRLEN、SETRANGE 和 GETRANGE 都是为英文设置的,它们只会在字符为单个字节的情况下正常 工作,而一旦我们储存的是类似中文这样的多字节字符,那么这三个命令就不再适用了
如果你想知道被 储存的中文包含多少个字节,那么可以使用 STRLEN
本文来自博客园,作者:昊昋,转载请注明原文链接:https://www.cnblogs.com/hbaook-geui/p/15624668.html