redis 之 redis几种类型及使用
Posted forever_2h
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis 之 redis几种类型及使用相关的知识,希望对你有一定的参考价值。
1. string redis 中的string用于存放长字符串信息。和java中string是一致的。
向数据库添加数据:
- set key value 向数据库添加数据
- get key 获取指定key的值
- 使用set设值,如果key不存在,那么将会覆盖之前的值
- setnx(not exists) key value .如果key不存在,那么设值,返回1,如果key存在 返回0,不进行设值。
- setex(expired)key time(s) value.设置key的value,并且在指定的time秒后失效,失效后返回nil(空)
- incr(increase) key 如果key是integer,那么为其自增1
- decr(decrease) key 如果key是integer,那么为其自减1
- incrby key n 如果key是integer,为其加上n
- decrby key n 如果key是integer,为其减去n
- strlen key 返回key的字符串长度
- getrange key start end 返回指定的下标字符串的值 范围是[start,end]
- mset k1 v1 k2 v2 k3 v3 通过mset一次性可以设置多个值
- mget k1 k2 获取多个值
- append key value 为指定key追加value,如果key不存在,那么新增一个key,值为value.
- del key删除
2. hash redis hash 是一个string类型的field和value的映射表,hash特别适合 存储对象。
- hset key field value 可以理解key为对象名 field为属性 value为属性值
- hget key field 获取指定key的field的值
- hmset key field1 value1 field2 value2 为指定的key设置多个field及其值
- hmget key field1 field2 获取指定key的field1和field2的值
- hkeys key 获取指定key的所有的field
- hvals key 获取指定key的所有的field的值
- hdel key field1 [field2] 删除指定key的一个或多个field
- hexists key field 检查指定的key的field是否存在,如果存在返回1,如果不存在返回0
- hgetall key 返回指定key的所有的field和field的value.
- hlen key 返回指定key的field的个数
- del key
3.list Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素列表的头部(左部)或者尾部(右部)一个列表最多可以包含232-1个元素(4294967295, 每个列表超过40亿个元素)。
- lpush key value1 [value2] 向指定的key列表头中添加一个或者多个value
- lpop key 移除并且获取指定key列表中的第一个元素
- rpush key value1 [value2] 向指定的key列表的尾部添加一个或者多个value
- rpop key 移除并且获取指定key列表中的最后一个元素
- lindex key index 获取指定key列表的下标为index的元素。Index从0开始
- linsert key before|after currentElement insertElement 在指定key列表中的currentElement(当前元素)的前或者后插入指定(insertElement)元素
- llen key 返回指定key列表中的元素个数
- lrange key start stop 返回指定key列表中的的[start,end]范围中的元素
- lset key index value 为指定key列表替换指定下标index的值为value
- ltrim key start end 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
4.set: Redis的Set是String类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复数据。Redis中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是0(1)。集合中最大的成员数为 232 - 1(4294967295,每个集合可存储40多亿个成员)
- sadd key m1 m2 [m3] 为指定的key集合添加一个或者多个成员
- smembers key 返回指定key集合的成员
- scard key 返回指定key集合的元素个数
- spop key 移除并返回指定key集合中的随机一个元素
- sdiff key1 key2 返回key1集合和key2集合的差集
- sdiffstore key3 key1 key2 返回key1集合和key2集合的差集,并将差集存入key3
- sinter key1 [key2] 返回所有集合的交集
等。
5. sorted set(zset)
Redis有序集合和集合一样,也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会失联一个double类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
zadd key score1 member1 [score2 member2] 为指定的key有序集合添加分数及其该分数对应的元素。可以一次添加多个元素
- zcard key 返回指定的有序集合key中元素个数
- zcount key min max 返回指定有序集合key中 分数从min到max的元素个数
- zincrby key increment member 为指定的有序集合key中的指定memeber元素的分数加上一个increment
- zrank key member 返回指定key集合中member的下标 从0开始
- zscore key member 返回指定key集合中member的分数
- zrem key memeber1 [member2]移除指定key集合中的一个或者多个元素
以上是关于redis 之 redis几种类型及使用的主要内容,如果未能解决你的问题,请参考以下文章