Redis的 Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字。使用Strings类型,你可以完全实现目前 Memcached 的功能,并且效率更高。还可以享受Redis的定时持久化,操作日志及 Replication等功能。除了提供与 Memcached 一样的get、set、incr、decr 等操作外,Redis还提供了下面一些操作:
- 获取字符串长度
- 往字符串append内容
- 设置和获取字符串的某一段内容
- 设置及获取字符串的某一位(bit)
- 批量设置一系列字符串的内容
Redis能存储二进制安全的字符串,最大长度为1GB
127.0.0.1:6379> set name "郭红俊"
OK
127.0.0.1:6379> get name
"\xe9\x83\xad\xe7\xba\xa2\xe4\xbf\x8a"
127.0.0.1:6379> set name "ghj1976"
OK
127.0.0.1:6379> get name
"ghj1976"
String类型还支持批量的读写操作
[root@localhost src]# ./redis-cli
127.0.0.1:6379> mset age 31 sex "male"
OK
127.0.0.1:6379> mget age
1) "31"
127.0.0.1:6379> mget age sex
1) "31"
2) "male"
127.0.0.1:6379> get age
"31"
127.0.0.1:6379> del age
(integer) 1
127.0.0.1:6379> mget age sex
1) (nil)
2) "male"
127.0.0.1:6379>
String类型其实也可以用来存储数字,并支持对数字的加减操作。
127.0.0.1:6379>
127.0.0.1:6379> incr age
(integer) 1
127.0.0.1:6379>
127.0.0.1:6379> get age
"1"
127.0.0.1:6379> incrby age 5
(integer) 6
127.0.0.1:6379> get age
"6"
127.0.0.1:6379> decr age
(integer) 5
127.0.0.1:6379> get age
"5"
127.0.0.1:6379> decrby age 3
(integer) 2
127.0.0.1:6379> get age
"2"
127.0.0.1:6379> del age
(integer) 1
127.0.0.1:6379> get age
(nil)
说明:
incr 命令给某个变量加一,如果这个变量不存在,则首先建立,使用默认值0,然后加一后是1, 如上面代码。如果这个变量存在,则直接加一。
127.0.0.1:6379> set aa 45
OK
127.0.0.1:6379> get aa
"45"
127.0.0.1:6379> incr aa
(integer) 46
127.0.0.1:6379> get aa
"46"
127.0.0.1:6379> set bb ghh
OK
127.0.0.1:6379> get bb
"ghh"
127.0.0.1:6379> incr bb
(error) ERR value is not an integer or out of range
127.0.0.1:6379>
String类型还支持对其部分的修改和获取操作
127.0.0.1:6379> set name 郭红俊
OK
127.0.0.1:6379> get name
"\xe9\x83\xad\xe7\xba\xa2\xe4\xbf\x8a"
127.0.0.1:6379> append name "ddd."
(integer) 13
127.0.0.1:6379> get name
"\xe9\x83\xad\xe7\xba\xa2\xe4\xbf\x8addd."
127.0.0.1:6379> strlen name
(integer) 13
127.0.0.1:6379> substr name 0 3
"\xe9\x83\xad\xe7"
127.0.0.1:6379> substr name 0 2
"\xe9\x83\xad"
更多字符串使用命令参考:
http://www.redisdoc.com/en/latest/string/index.html
redis 全部命令请看:
http://www.redisdoc.com/en/latest/index.html
简单统计命令如下:
127.0.0.1:6379> dbsize
(integer) 2
127.0.0.1:6379>
127.0.0.1:6379> keys *
1) "sex"
2) "name"
127.0.0.1:6379>
dbsize 返回目前存储的数量。
keys 返回满足查询表达式的所有key keys * 是全部
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
2013-02-12 Go中的make和new的区别