Redis存放的字符串为二进制是安全的。字符串长度支持到512M。

incr

递增数字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>

incrby

指定增长系数

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>

decr / decrby

减少指定的整数

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

incrbyfloat

整数时,第一次加可以得到正确结果,浮点数后再加浮点就会出现精度问题。

原来下面的例子是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”

append

向尾部追加值。如果键不存在则创建该键,其值为写的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>

strlen

字符串长度,返回数据的长度,

如果键不存在则返回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>

mset/mget

同时设置/获取多个键值

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>

最新文章

  1. 制作nginx和php的rpm包
  2. MYSQL C API : mysql_init()
  3. 小小的封装了一个pie的echarts
  4. c++sort函数的用法浅析
  5. 总结: Struts2 + Spring 的线程安全问题
  6. Thinkphp 框架基础
  7. html天气预报小插件
  8. Elcipse安装gradle插件
  9. vitualbox中的centos7与主机共享文件
  10. rabbitmq web 管理系统的信息
  11. [Java] 練習用對戰小遊戲
  12. 数据结构 BM算法
  13. x-pack
  14. sailsjs learning note
  15. 跟着刚哥学习Spring框架--通过XML方式配置Bean(三)
  16. git命令--git checkout 之 撤销提交到暂存区的更改
  17. Python函数-logging.basicConfig
  18. C# 集合-并发处理-锁OR线程 (转载)
  19. 分布式开放消息系统RocketMQ的原理与实践(消息的顺序问题、重复问题、可靠消息/事务消息)
  20. 项目Beta冲刺(团队)第五天

热门文章

  1. 洛谷P3724 [AH2017/HNOI2017]大佬(决策单调性)
  2. 洛谷P3628 [APIO2010]特别行动队(斜率优化)
  3. Jmeter-响应结果unicode转成中文显示
  4. Qt(Mac) 进程的启动
  5. Xcode的编辑利器Xvim,如何去掉烦人工具栏和文件路径
  6. 分布式通信框架RMI
  7. ssh免密登录linux服务器
  8. Go语言基础之8--面向对象编程1之结构体(struct)
  9. Windows Server2008服务器可以远程桌面,但在内网中却Ping不通--解决方法
  10. mc02_配置本地git仓库并上传到github