三 redis五种数据结构的操作

一 String

1、set key value [ex 秒数] / [px 毫秒数]  [nx] /[xx]

  • 如: set a 1 ex 10 , 10秒有效
  • Set a 1 px 9000  , 9秒有效
  • 注: 如果ex,px同时写,以后面的有效期为准
  • 如 set a 1 ex 100 px 9000, 实际有效期是9000毫秒 
  • nx: 表示key不存在时,执行操作
  • xx: 表示key存在时,执行操作

2、mset  multi set 

一次性设置多个键值

3、get key

获取key的值

4、mget key1 key2 ..keyn

获取多个值

5、incr key

作用: 指定的key的值加1,并返回加1后的值

注意:

  • 不存在的key当成0,再incr操作

  • 当vaule不是Integer类型时会报错

6、incrby key

incrby加指定值

7、decr key和decrby key

作用刚好和incr&incrby相反

8、setnx key

设置key对应的值为String类型的value,如果key已经存在则返回0,设置失败,不存在,则返回1,设置成功。

9、setex key

设置key对应的值为String类型的value,并设定有效期

10、getrange key start stop

作用: 是获取字符串中 [start, stop]范围的值

注意:

  •  start>=length, 则返回空字符串
  •  stop>=length,则截取至字符结尾
  •  如果start 所处位置在stop右边, 返回空字符串

11、append key value

作用: 把value追加到key的原值上

12、getset key value

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

二 Hash

Hash是一个String类型的field和value之间的映射表

redis的Hash数据类型的key(hash表名称)对应的value实际的内部存储结构为一个HashMap

Hash特别适合存储对象,相对于把一个对象的每个属性存储为String类型,将整个对象存储在Hash类型中会占用更少内存。

所存储的成员较少时数据存储为zipmap,当成员数量增大时会自动转成真正的HashMap,此时encoding为ht。

1、hset key field value

设置key对应的HashMap中的field的value

2、hget key field value

获取key对应的HashMap中的field的value

3、hgetall key

获取key对应的HashMap中的所有field的value

4、hmset key field value&hmget key field value批量操作

5、hlen key

返回key对应的HashMap中的field的数量

 

 

 

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/woxbwo/p/11520934.html