三 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的数量
大数据成长史