天天看点

Redis 字符串类型数据的操作命令

1、进入redis客户端

/usr/local/redis/bin/redis-cli 

127.0.0.1:6379> 

2、set:设置字符串类型数据 

1

2

3

4

5

6

<code>127.0.0.1:6379&gt; </code><code>set</code> <code>name zhangsan</code>

<code>OK</code>

<code>127.0.0.1:6379&gt; </code><code>set</code> <code>name lisi</code>

<code>127.0.0.1:6379&gt; get name</code>

<code>"lisi"</code>

从上面例子可知,如果key已经存在,再次用set设置值会覆盖原来的值

3、setnx:(set not exist)如果key已经存在,则返回0,如果key不存在才设置值

7

8

9

<code>127.0.0.1:6379&gt; setnx name wangwu</code>

<code>(integer) 0</code>

<code>127.0.0.1:6379&gt; setnx job SE</code>

<code>(integer) 1</code>

<code>127.0.0.1:6379&gt; get job</code>

<code>"SE"</code>

<code>127.0.0.1:6379&gt;</code>

4、setex(set  ):设置key对应的值为string类型的value,并指定此键值对应的有效期

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

<code>127.0.0.1:6379&gt; setex haircolor 10 red</code>

<code>127.0.0.1:6379&gt; get haircolor</code>

<code>"red"</code>

<code>(nil)</code>

5、setrange: 从指定下标位置开始替换字符,并返回字符长度。如果替换的字符串长度没有原字符串长度长,则会保留没有被替换的字符串

<code>127.0.0.1:6379&gt; </code><code>set</code> <code>mail [email protected]</code>

<code>127.0.0.1:6379&gt; get mail</code>

<code>"[email protected]"</code>

<code>127.0.0.1:6379&gt; setrange mail 5 qq.com  </code><code>//5</code><code>代表下标位置,下标从0开始</code>

<code>(integer) 12</code>

<code>"[email protected]"</code>  

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

<code>127.0.0.1:6379&gt; mset key1 aaa key2 bbb key3 ccc</code>

<code>127.0.0.1:6379&gt; get key1</code>

<code>"aaa"</code>

<code>127.0.0.1:6379&gt; get key2</code>

<code>"bbb"</code>

<code>127.0.0.1:6379&gt; get key3</code>

<code>"ccc"</code>

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

<code>127.0.0.1:6379&gt; msetnx key3 cc key4 ddd key5 eee</code>

<code>127.0.0.1:6379&gt; get key4</code>

<code>127.0.0.1:6379&gt; get key5</code>

由于key3已经存在,导致key4 key5都设置失败了

8、get:获取key对应string的值,如果值不存在则返回nil

9、getset:设置key的值,并返回key的旧值

<code>127.0.0.1:6379&gt; getset key1 aaaa</code>

<code>"aaaa"</code>

10、getrange KEY N M:获取指定下标位置的key的值

<code>127.0.0.1:6379&gt; getrange mail 0 4</code>

<code>"zeng@"</code>

<code>127.0.0.1:6379&gt; getrange mail 0 3</code>

<code>"zeng"</code>

11、mget:获取多个key的值

<code>127.0.0.1:6379&gt; mget key1 key2 key3</code>

<code>1) </code><code>"aaaa"</code>

<code>2) </code><code>"bbb"</code>

<code>3) </code><code>"ccc"</code>

12、incr:对key的值做加加操作,并返回最新的值

<code>127.0.0.1:6379&gt; </code><code>set</code> <code>key4 10</code>

<code>127.0.0.1:6379&gt; incr key4 </code>

<code>(integer) 11</code>

<code>(integer) 13</code>

13、incrby:同incr类似,加指定值,key不存在的时候会设置key,并认为原来的value是0

10

<code>127.0.0.1:6379&gt; incrby key4  10</code>

<code>(integer) 23</code>

<code>(integer) 33</code>

<code>"33"</code>

<code>127.0.0.1:6379&gt; incrby key4  -5</code>

<code>(integer) 28</code>

14、decr:对key的值做减减操作

<code>127.0.0.1:6379&gt; decr key4 </code>

<code>(integer) 22</code>

<code>(integer) 21</code>

15、decrby:与decrby相反

<code>127.0.0.1:6379&gt; decrby key4 2</code>

<code>(integer) 19</code>

<code>(integer) 17</code>

<code>(integer) 15</code>

16、append:给指定key的字符串追加value,返回新字符串值 的长度

<code>127.0.0.1:6379&gt; append name .com</code>

<code>(integer) 8</code>

<code>"zeng.com"</code>

17、strlen:查看key对应值得长度

<code>127.0.0.1:6379&gt; strlen name</code>

<code></code>

本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1853820,如需转载请自行联系原作者

继续阅读