zoukankan      html  css  js  c++  java
  • 使用Redis数据库(String类型)

    一 String类型

    首先使用启动服务器进程 :

    redis-server.exe

    1. Set

      设置Key对应的值为String 类型的value。

      例子:向 Redis数据库中插入一条数据类型为String 的记录。

      在客户端输入命令:

    1
    2
    3
    4
    5
    C:software edis64bit>redis-cli.exe -h 127.0.0.1 -p 6379
    redis 127.0.0.1:6379> set foo test
    OK
    redis 127.0.0.1:6379> get foo
    "test"

    2.setnx

     设置key对应的值为string类型的value,如果key已经存在,返回0,nx是not exist的意思。命令简单的理解为: 设置一个key,如果可以key对应的值不存在才更新值。

    1
    2
    3
    4
    5
    6
    redis 127.0.0.1:6379> setnx foo1 aaa
    (integer) 1
    redis 127.0.0.1:6379> get foo1
    "aaa"
    redis 127.0.0.1:6379> setnx foo1 bbb
    (integer) 0

    3. setex

      设置key对应的值为string类型的value,并制定此键值对应的有效期。

    例如:添加一个haircolor=red的键值对,并指定有效期为10秒。

    1
    2
    3
    4
    5
    6
    redis 127.0.0.1:6379> setex haircolor 10 red
    OK
    redis 127.0.0.1:6379> get haircolor
    "red"
    redis 127.0.0.1:6379> get haircolor
    (nil)

    4 setrange

    设置指定key的value的子字符串

    例如: 我们希望将 xpxiaowu的126邮箱替换为gmail邮箱。

    1
    2
    3
    4
    5
    6
    redis 127.0.0.1:6379> set name abcde@126.com
    OK
    redis 127.0.0.1:6379> setrange name 6 gmail.com
    (integer) 15
    redis 127.0.0.1:6379> get name
    "abcde@gmail.com"

    5.mset

      一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置。

    1
    2
    3
    4
    5
    6
    redis 127.0.0.1:6379> mset key1 wangwu key2 lisi
    OK
    redis 127.0.0.1:6379> get key1
    "wangwu"
    redis 127.0.0.1:6379> get key2
    "lisi"

    6.msetnx

    一次设置多个key的值,成功返回ok,表示所有的值都设置了,失败返回0,表示没有没任何值被设置,但是不会覆盖已经存在的key.

    如果有一个key没有设置成功,其他key都不会设置成功。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    redis 127.0.0.1:6379> msetnx key1 aaa key2 bbb key3 ccc
    (integer) 0
    redis 127.0.0.1:6379> get key1
    "wangwu"
    redis 127.0.0.1:6379> get key2
    "lisi"
    redis 127.0.0.1:6379> get key3
    (nil)
    redis 127.0.0.1:6379> msetnx key3 aaa key4 bbb key5 ccc
    (integer) 1
    redis 127.0.0.1:6379> get key1
    "wangwu"
    redis 127.0.0.1:6379> get dkey2
    (nil)
    redis 127.0.0.1:6379> get key3
    "aaa"
    redis 127.0.0.1:6379> get key4
    "bbb"
    redis 127.0.0.1:6379> get key5
    "ccc"

    7. get 获得可以对应得string 值,如果key不存在返回nil .

    getset 设置key的值,并返回key 的旧值。

    getrange

    获取key对应的value值的子字符串。

    getrange name 0 5
    mget

    一次获取多个key的值,如果对应key不存在则对应返回nil.

    redis 127.0.0.1:6379> mget key1 key2 key3 key4 key5

    1) "wangwu"
    2) "lisi"
    3) "aaa"
    4) "bbb"
    5) "ccc"

    8. incr

    对key的值做加加操作,并返回新的值。

    incrby

    同incr 类似,加指定值,key 不存在时候回设置key,并认为原来的value是0.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    redis 127.0.0.1:6379> set key6 0
    OK
    redis 127.0.0.1:6379> get key6
    "0"
    redis 127.0.0.1:6379> incr key6
    (integer) 1
    redis 127.0.0.1:6379> set key7 1
    OK
    redis 127.0.0.1:6379> get key7
    "1"
    redis 127.0.0.1:6379> incrby key7 5
    (integer) 6
    redis 127.0.0.1:6379> get key7
    "6"

      decr

     对key的值做减减操作。

    decrby

    同decr类似,减指定值。

    9. append

    给指定key的字符串追加value,返回新字符串值的长度。

    1
    2
    3
    4
    5
    6
    redis 127.0.0.1:6379> get key6
    "1"
    redis 127.0.0.1:6379> append key6 @163.com
    (integer) 9
    redis 127.0.0.1:6379> get key6
    1@163.com

    以上所述是小编给大家介绍的Redis02 使用Redis数据库(String类型)全面解析,希望对大家有所帮助,如果大家想了解更多内容,敬请关注脚本之家!

  • 相关阅读:
    数据库的优化
    Java 10
    sleep()和yield()的区别
    mvc框架实现的流程,值得收藏
    MyEclipse项目出现红色!的原因
    The requested resource is not available的解决方案-转载博文
    web.xml详解(web-app_2_3.dtd)规范顺序
    EditText小写字母自动转换成大写(注:设置之后只能显示大写字母)
    Android GridView属性意义集合(转)
    Theme.AppCompat.Light无法找到问题(转)
  • 原文地址:https://www.cnblogs.com/jianzhixuan/p/6427733.html
Copyright © 2011-2022 走看看