Redis基本操作
1. 数据库连接操作

2. key的操作
Redis中的数据以键值对(key-value)为基本存储方式,其中key都是字符串。

3. String操作
String类型是Redis中最基本的类型,它是key对应的一个单一值。
二进制安全,不必担心由于编码等问题导致二进制数据变化。所以redis的string可以包含任何数据,比如jpg图片或者序列化的对象。
Redis中一个字符串值的最大容量是512M。
| SET key value | 添加键值对 |
|---|---|
| GET key | 查询指定key的值 |
| APPEND key value | 将给定的value追加到原值的末尾 |
| STRLEN key | 获取值的长度 |
| SETNX key value | 只有在 key 不存在时设置 key 的值 |
| INCR key | 指定key的值自增1,只对数字有效 |
| DECR key | 指定key的值自减1,只对数字有效 |
| INCRBY key num | 自增num |
| DECRBY key num | 自减num |
| MSET key1 value1 key2 value2… | 同时设置多个key-value对 |
| MGET key1 key2 | 同时获取一个或多个value |
| MSETNX key1 value1 key2 value2 | 当key不存在时,设置多个key-value对 |
| GETRANGE key起始索引 结束索引 | 获取指定范围的值,都是闭区间 |
| SETRANGE key起始索引 value | 从起始位置开始覆写指定的值 |
| GETSET key value | 以新换旧,同时获取旧值 |
| SETEX key 过期时间 value | 设置键值的同时,设置过期时间,单位秒 |
4. list操作
在Java中list 一般是单向链表,如常见的Arraylist,只能从一侧插入。
在Redis中,list是双向链表。可以从两侧插入。
可以简单理解为两端开口的,两端都可以进出。常见操作:
- 遍历:遍历的时候,是从左往右取值;
- 删除:弹栈,POP;
- 添加:压栈,PUSH ;
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。它的底层实际是个双向链表,对两端的操作性能很高,通过索引下标的操作中间的节点性能会较差。
| LPUSH/RPUSH key value1 value2… | 从左边/右边压入一个或多个值,头尾效率高,中间效率低 |
|---|---|
| LPOP/RPOP key | 从左边/右边弹出一个值,值在键在,值光键亡,弹出=返回+删除 |
| LRANGE key start stop | 查看指定区间的元素 ,正着数:0,1,2,3,…,倒着数:-1,-2,-3,…, [0,-1]表示全部元素 |
| LINDEX key index | 按照索引下标获取元素(从左到右) |
| LLEN key | 获取列表长度 |
| LINSERT key BEFORE/AFTER value newvalue | 在指定value的前后插入newvalue |
| LREM key n value | 从左边删除n个value |
| LSET key index value | 把指定索引位置的元素替换为另一个值 |
| LTRIM key start stop | 仅保留指定区间的数据 |
| RPOPLPUSH list1 list2 | 从list1右边弹出一个值,左侧压入到list2 |
5. set操作
set是无序的,且是不可重复的。
| SADD key member [member …] | 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。 |
|---|---|
| SMEMBERS key | 取出该集合的所有值 |
| SISMEMBER key value | 判断集合是否为含有该值,有返回1,没有返回0 |
| SCARD key | 返回集合中元素的数量 |
| SREM key member [member …] | 从集合中删除元素 |
| SPOP key [count] | 从集合中随机弹出(删除)count个数量的元素,count不指定就弹出1个 |
| SRANDMEMBER key [count] | 从集合中随机返回count个数量的元素,count不指定就返回1个 |
| SINTER key [key …] | 将指定的集合进行“交集”操作 |
| SINTERSTORE dest key [key …] | 取交集,另存为一个set |
| SUNION key [key …] | 将指定的集合执行“并集”操作 |
| SUNIONSTORE dest key [key …] | 取并集,另存为set |
| SDIFF key [key …] | 将指定的集合执行“差集”操作 |
| SDIFFSTORE dest key [key …] | 取差集,另存为set |
6. hash操作
Hash数据类型的键值对中的值是“单列”的,不支持进一步的层次结构。
常用操作:
| HSET key field value | 为key中的field赋值value |
|---|---|
| HMSET key field value [field value …] | 为指定key批量设置field-value |
| HSETNX key field value | 当指定key的field不存在时,设置其value |
| HGETALL key | 获取指定key的所有信息(field和value) |
| HKEYS key | 获取指定key的所有field |
| HVALS key | 获取指定key的所有value |
| HLEN key | 指定key的field个数 |
| HGET key field | 从key中根据field取出value |
| HMGET key field [field …] | 为指定key获取多个filed的值 |
| HEXISTS key field | 指定key是否有field |
| HINCRBY key field increment | 为指定key的field加上增量increment |
7. zset操作
zset是一种特殊的set(sorted set),在保存value的时候,为每个value多保存了一个score信息。根据score信息,可以进行排序。
这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了
| ZADD key [score member …] | 添加元素 |
|---|---|
| ZSCORE key member | 返回指定值的分数 |
| ZRANGE key start stop [WITHSCORES] | 返回指定区间的值,可选择是否一起返回scores |
| ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] | 在分数的指定区间内返回数据,从小到大排列 |
| ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count] | 在分数的指定区间内返回数据,从大到小排列 |
| ZCARD key | 返回集合中所有的元素的数量 |
| ZCOUNT key min max | 统计分数区间内的元素个数 |
| ZREM key member | 删除该集合下,指定值的元素 |
| ZRANK key member | 返回该值在集合中的排名,从0开始 |
| ZINCRBY key increment member | 为元素的score加上增量 |

463

被折叠的 条评论
为什么被折叠?



