zoukankan      html  css  js  c++  java
  • 深入浅出Redis02 使用Redis数据库(String类型)

    一 String类型

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

    redis-server.exe

     1. Set

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

      例子:向 Redis数据库中插入一条数据类型为String 的记录。
      在客户端输入命令:

    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对应的值不存在才更新值。

    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秒。

    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邮箱。

    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表示没有任何值被设置。

    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都不会设置成功。

    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.

    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,返回新字符串值的长度。

    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"
  • 相关阅读:
    html基础进阶笔记
    程序员的自我提升
    过滤思路
    for循环
    jeesite在生成主子表代码的时候在eclipse里面没有子表代码
    java学习笔记2
    人性的弱点
    java学习笔记
    Percona Toolkit 安装使用
    mysql 中查询当天、本周,本月,上一个月的数据
  • 原文地址:https://www.cnblogs.com/wangshuo1/p/redis_2.html
Copyright © 2011-2022 走看看