目录
2.1string
2.1.1简介
- 字符串在redis中二进制安全存储,这便意味着该类型可以接受任何类型的数据,eg:jpeg,其中字符串类型的value最多可以容纳数据长度512M。
- 如果设置的键不存在就添加,如果存在就修改
- 应用于计数,uuid-username,缓存等
2.1.2增删改查
- set
set name gfb ex 3 设置过期时间为3s,单位为秒 set name gfb px 100 设置过期时间为毫秒 set name gfb nx 不存在就创建,存在就报nil--setnx set name gfb xx 存在则覆盖,不存在就是nil----setxx
- get:get name 获取name的值
- 批量设置:mset gfb 123 cjh 456 fmh 789
- 批量获取:mget gfb fmh
- 设置新值取旧值:getset gfb 321
- 增加和减少
set count 1 incr count 加1 decr count 减1 incrby key 5 指定值增加5 decrby key 5 指定值减少
- 切片:getrange key start end
- 字符串长度:strlen key
2.2hash
2.2.1hash简介
- 类似于字典或者对象,可以绑定一些关联性较强的数据
eg:user:{name,password,addr,phone}
2.2.2增删改查
- hset key field value----设置值
hset user name gfb hset user password 123 hset user addr beijin
- hget key field---获取指定的field值
hget user name
- 设置多个值:hmset key field1 value1 field2 value2
- 获取多个值:hmget key field1 field2
- 获取所有值:hgetall key(dict.items())
- 获取所有键:hkeys key
- 获取所有值:hvals key
- 删除指定值:hdel key field 根据field删除value
- 获取个数:hlen key
- 判断是否存在:hexists key field
2.3list
2.3.1list简介
- 有栈的特点:先进后出
- 有列表的特点:支持下标
2.3.2增删改查
添加
- 直接添加:lpush key val1 val2 val3
- 有key才会添加:lpushx key val1
- 列表中插入:linsert key before val new_val
- 按位置插入:lset key 0 val
获取
- lrange key start end:获取列表内容
lrange fruit 0 -1 获取fruit所有的元素
- llen key:获取列表长度
llen fruit
- lindex key index:根据下标获取对应的元素
lindex fruit 3
删除
- lrem key count elem:删除指定列表的指定元素,其中count表示删除的相同的个数
lrem fruit 3 pig
- lpop key :删除最上面的元素,并且返回删除的元素
lpop fruit
2.4set
2.4.1set简介
- 类似于python中的set,无序
2.4.2增删改查
- 添加元素:sadd city beijin shanghai shenzheng
- 随机删除元素:spop num1
- 指定元素删除:srem key member
- 随机选取元素:srandmember city
- 查看元素内容:smembers city
- 交集:sinter set1 set2
- 并集:sunion set1 set2
- 差集:sdiff num1 num2
- 获取元素长度:scard city
- 移动元素:smove source_key target_key member
- 判断值value是不是key的成员:sismember key value
2.5sorted set
2.5.1sorted set简介
- 有序集合是在集合的基础上为每个元素进行排序,元素排序需要根据另外一个值进行比较,所以对于有序集合,每个元素有两个值。即:值和分数,分数专门用来排序。
- 适用于视频网站对用户上传视频排行榜和点赞数
2.5.2增删改查
- 添加元素:zadd key [nx|xx] score1 member1 score2 member2(nx:不存在则创建;xx:存在则修改)
- 原基础上增加:zadd key incr 2 age
- 删除指定元素:zrem key member
- 删除指定范围元素:zremrangebyscore key min max
- 指定范围取值:zrange(zrevrange) key start end withscores
- 根据score的范围取值:zrangebyscore key min max [withscores] [limit offset count]
- 交集:zinterstore
- 并集:zunionstore
- 获取有序集合长度:zcard key