深入浅出Redis02 使用Redis数据库(String类型)

一 String类型

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

redis-server.exe

 1. Set

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

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

C:\software\redis\64bit>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"

 

posted @ 2016-07-11 10:06  王硕的小屋  阅读(1487)  评论(1编辑  收藏  举报