标签:blog 作用 精度 数据 键值 指定 版本 结果 追加值
Redis存放的字符串为二进制是安全的。字符串长度支持到512M。
递增数字INCR key
当存储的字符串是整数时,redis提供了一个实用的命令INCR,其作用是让当前键值递增,并返回递增后的值。
从例子可以看出,如果num不存在,则自动会创建,如果存在自动+1。
127.0.0.1:6379> keys * 1) "test1" 2) "test" 127.0.0.1:6379> get test "123" 127.0.0.1:6379> get test1 "abc" 127.0.0.1:6379> get test2 (nil) 127.0.0.1:6379> incr num (integer) 1 127.0.0.1:6379> keys * 1) "num" 2) "test1" 3) "test" 127.0.0.1:6379> incr num (integer) 2 127.0.0.1:6379> incr num (integer) 3 127.0.0.1:6379>
指定增长系数
127.0.0.1:6379> incr num (integer) 2 127.0.0.1:6379> incr num (integer) 3 127.0.0.1:6379> incrby num 2 (integer) 5 127.0.0.1:6379> incrby num 2 (integer) 7 127.0.0.1:6379> incrby num 2 (integer) 9 127.0.0.1:6379> incr num (integer) 10 127.0.0.1:6379>
减少指定的整数
127.0.0.1:6379> incr num (integer) 10 127.0.0.1:6379> decr num (integer) 9 127.0.0.1:6379> decrby num 3
整数时,第一次加可以得到正确结果,浮点数后再加浮点就会出现精度问题。
原来下面的例子是2.8.7版本
注意在新版本3.0.7中已经修正了这个浮点精度问题。
127.0.0.1:6379> set num (integer) 131 127.0.0.1:6379> incrfloat num 0.7 “131.7” 127.0.0.1:6379> incrfloat num 0.7 “132.3999999999999999”
向尾部追加值。如果键不存在则创建该键,其值为写的value,即相当于SET key value。
返回值是追加后字符串的总长度。
127.0.0.1:6379> keys * 1) "num" 2) "test1" 3) "test" 127.0.0.1:6379> get test "123" 127.0.0.1:6379> append test "abc" (integer) 6 127.0.0.1:6379> get test "123abc" 127.0.0.1:6379>
字符串长度,返回数据的长度,
如果键不存在则返回0。
如果键值为空串,返回也是0。
127.0.0.1:6379> get test "123abc" 127.0.0.1:6379> strlen test (integer) 6 127.0.0.1:6379> strlen tnt (integer) 0 127.0.0.1:6379> set tnt "" OK 127.0.0.1:6379> strlen tnt (integer) 0 127.0.0.1:6379> exists tnt (integer) 1 127.0.0.1:6379>
同时设置/获取多个键值
127.0.0.1:6379> flushall OK 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> mset a 1 b 2 c 3 OK 127.0.0.1:6379> mget a b c 1) "1" 2) "2" 3) "3" 127.0.0.1:6379>
标签:blog 作用 精度 数据 键值 指定 版本 结果 追加值
原文地址:http://www.cnblogs.com/ccEmma/p/7747532.html