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:获取集合中元素个数 |