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

  • 相关阅读:
    30天敏捷生活(4): 撰写个人使命宣言
    [智力考题]比尔盖茨只有3分的考题
    推荐下载:MSN机器人源代码(C#),含自动IP地址查询、简单自动问答等(添加详细使用)
    [代码]包括所有特性的目录选择对话框
    开源数据库系统之SQLite3.2.0、FireBird2.0 Alpha1等
    [建议]添加模板功能
    到底SQLite有多强?在我的2台机器上的压力测试
    OMEA Pro,刚刚荣获15届Jolt大奖,综合RSS阅读,邮件、任务等管理的IIM(智能信息管理)
    关于DotNetNuke(DNN)的语言问题
    写你自己的反编译/混淆器
  • 原文地址:https://www.cnblogs.com/ghj1976/p/3546091.html
Copyright © 2011-2022 走看看