zoukankan      html  css  js  c++  java
  • Redis 对String数据类型的操作

    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
    "xe9x83xadxe7xbaxa2xe4xbfx8a"
    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
    "xe9x83xadxe7xbaxa2xe4xbfx8a"
    127.0.0.1:6379> append name "ddd."
    (integer) 13
    127.0.0.1:6379> get name
    "xe9x83xadxe7xbaxa2xe4xbfx8addd."
    127.0.0.1:6379> strlen name
    (integer) 13
    127.0.0.1:6379> substr name 0 3
    "xe9x83xadxe7"
    127.0.0.1:6379> substr name 0 2
    "xe9x83xad"

     

     

    更多字符串使用命令参考:

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

  • 相关阅读:
    Java对象的生命周期与作用域的讨论(转)
    [置顶] Oracle学习路线与方法
    Java实现 蓝桥杯 算法训练 未名湖边的烦恼
    Java实现 蓝桥杯 算法训练 未名湖边的烦恼
    Java实现 蓝桥杯 算法训练 未名湖边的烦恼
    Java实现 蓝桥杯 算法训练 最大的算式
    Java实现 蓝桥杯 算法训练 最大的算式
    Java实现 蓝桥杯 算法训练 最大的算式
    Java实现 蓝桥杯 算法训练 最大的算式
    Java实现 蓝桥杯 算法训练 最大的算式
  • 原文地址:https://www.cnblogs.com/ghj1976/p/3546091.html
Copyright © 2011-2022 走看看