1.1.1. 一、String的说明:

redis的String类型是一个 key 对应一个 value。String类型是二进制安全的。除普通的字符串外,也可以存放图片等数据。(可以把byte存入里面,一般不使用。)

redis 中字符串 value 最大是 512M。

1.1.2. 二、字符串的增删改查。

1、单个增加、查询:使用set、get命令。

127.0.0.1:6379> set username zhangsan
OK
127.0.0.1:6379> get username
"zhangsan"
127.0.0.1:6379> set pwd 123456
OK
127.0.0.1:6379> get pwd
"123456"

2、单个删除、修改:(使用del、set命令)

  • 修改如下:使用同一个key再set一次value,就覆盖原来的value。达到修改的目的。
127.0.0.1:6379> get pwd
"123456"
127.0.0.1:6379> set pwd abc123
OK
127.0.0.1:6379> get pwd
"abc123"
  • 删除如下:
127.0.0.1:6379> get pwd
"abc123"
127.0.0.1:6379> del pwd
(integer) 1
127.0.0.1:6379> get pwd
(nil)

1.1.3. 三、设置过期时间。

  • 设置超时时间的命令:
setex 键 超时的秒数 值
  • 例子如下:键是pwd,值是abc,5秒超时。
127.0.0.1:6379> setex pwd 5  abc
OK
127.0.0.1:6379> get pwd
"abc"
127.0.0.1:6379> get pwd
(nil)

超过5秒后查询,只返回nil,表示数据超时被清除了,没有数据。

1.1.4. 四、多个键值对的操作。

1、mset 一次设置多个键值对。

mset key1 value1 [key2 value2 ...]
  • 示例如下:
127.0.0.1:6379> keys *
1) "username"
127.0.0.1:6379> 
127.0.0.1:6379> 
127.0.0.1:6379> mset age 16 email 123@qq.com
OK
127.0.0.1:6379> keys *
1) "email"
2) "username"
3) "age"

mset age 16 email 123@qq.com 一次设置了2个键值对。age ->16, email ->123@qq.com

2、一次取出多个键值对。

  • 示例如下:
127.0.0.1:6379> mget age email
1) "16"
2) "123@qq.com"

mget age email一次取出2个键age、 email的值。

1.1.5. 四、计数器:

字符串作为值,可以通过下面的命令。实现:原子递增。

> set mykey 100
OK
> incr mykey
(integer) 101
> incr mykey
(integer) 102
> incrby mykey 50
(integer) 152

INCR 命令将字符串值解析成整型,将其加一,最后将结果保存为新的字符串值,类似的命令有INCRBY, DECRDECRBY。实际上他们在内部就是同一个命令,只是看上去有点儿不同。

INCR是原子操作意味着什么呢?就是说即使多个客户端对同一个key发出INCR命令,也决不会导致竞争的情况。例如:『客户端1和客户端2同时读出“100”,他们俩都加1,最终的值一定是102』。

INCRBY命令还可以在后面设置要增加的值。

1.1.6. 五、不存在key时设置值,存在key时更新。

  • set key value nx 表示不存在key的时候就设置key-value;如果key不存在,就不执行这个命令。nx 表示“不存在,才执行。”。
  • set key value xx 表示存在key的时候就更新key-value;如果不存在key就不执行这个命令。xx 表示“存在,就执行”。
localhost:6379> get hello
(nil)
localhost:6379> set hello 123 xx
(nil)
localhost:6379> set hello 123 nx
OK
localhost:6379> get hello
"123"
localhost:6379> set hello 123 nx
(nil)
localhost:6379> set hello 12345 xx
OK
localhost:6379> get hello
"12345"

其他操作参考文档:http://www.redis.cn/topics/data-types-intro.html#sorted-sets

results matching ""

    No results matching ""