0
点赞
收藏
分享

微信扫一扫

Redis 对String数据类型的操作

M4Y 2023-06-26 阅读 71

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 * 是全部

举报

相关推荐

0 条评论