Redis
1.Redis
| 1.1 RESP连接Redis
|
| 1.2 定义:是一个高性能的key-value数据库(非关系型数据库) |
| 1.3 数据类型: key键的类型是字符串类型; 值的类型有五种:字符串String,哈希hash,列表list,无序集合set,有序集合zset |
| 1.4 核心特点:新版Redis是多线程的,Redis单线程性能很高(一般单线程性能低,Redis特例) |
2.String类型
| (1)最常用的类型,可以存储String,Integer等数据, 甚至是二进制数据,一个字符串最大容量是512M (2)set命令:key不存在即为添加操作,存在即为修改操作;TTL:-1è为永久存在
|
| (3)设置过期时间:setex
(4)设置多个键值对:mset
(5)追加值:append
(6)查询值:单个查询get,多个查询mget
(7)del命令:删除单个或多个键
(8)keys命令:查询所有的key
(9)exists命令:判断键是否存在,1存在,0不存在
(10)type命令:查看键对应的value的类型
(11)expire命令:设置键过期时间
(12)TTL命令:查看键有效时间(-1永久,-2不存在)
|
3.List类型
| 链表结构 |
| 往左侧添加值:lupsh; 往右侧添加值:rpush;
|
| 获取值:lrange:从左侧开始,第一个值索引为0;索引可以是负数,表示从尾部开始计数 lrange key start stop(0 -1代表获取全部)
|
| 修改命令:lset key 索引 替换的值
|
| 删除命令:将列表中前count次出现的值移除 count<0:从头往后删除;count>0:从尾往头删;count=0:删除所有的值
|
4.Set类型
| 特点:字符串类型,无序且不可重复 |
| (1)添加
|
| (2)smembers:获取集合中所有元素
|
| (3)sismember:判断元素是否在集合中
|
| (4)srem:删除元素
|
| (5)scard:获取集合中元素的个数
|
| (6)spop:弹出元素(随机删除count个值)
|
| (7)smove:移动元素
|
5.Hash哈希类型
| 特点:key值对应的value中包含一对键值对(类似Map<String,Map<String,String>>) |
| (1)添加单个和多个值HSET和HMSET
|
| (2)查询:HGETALL查询内部所有的键值对
|
| (3)HGET :获取value中单个key对应的值;HMGET ;获取value中多个key对应的值
|
| (4)HDEL:通过value中的某个key删除某个键值对
|
6.zset类型(有序集合)
| 特点:存放数据有序且不可重复,独立且根据score来排序 |
| (1)添加:ZADD key score value
|
| (2)ZRANGE...withscores:获取索引区间内的value
|
| (3)ZRANGEBYSCORE:获取score分数区间的value
|
| (4)ZREM:删除元素
|
| (5)ZCARD:获取集合中元素个数
|


































