Redis 基础入门笔记

105 阅读4分钟

学习地址:www.bilibili.com/video/BV1Jj…

13d4ae6cba984a61b8f83143c3e1da1d.png

简介

- 开源,基于内存的数据存贮系统。
- 可用于数据库缓存与消息队列等场景。
- NoSql之一
- 性能极高
- 单键值对最大支持512M
# Key区分大小写


- 五种基本数据类型
	- String		字符串
	- List 			列表
	- Set 			集合
	- SortedSet 	有序集合
	- Hash 			哈希
- 五种高级数据类型
	- Stream 		消息队列
	- Geospatial	地理空间
	- HyperLogLog	
	- BitMap		位图
	- Bitfield		位域 

安装 & 启动

安装包地址:
https://github.com/tporadowski/redis/releases


ubuntu安装
sudo apt update
sudo apt install redis-server
检查是否成功
sudo systemctl status redis-server


进入安装目录 输入下面启动
windows:		redis-server.exe redis.windows.conf(两个是一行,都要输入)
linux:			redis-server.exe


启动客户端:打开一个新的命令窗口
redis-cli 
关闭时候ctrl + c  或者直接关闭终端就行。


安装RedisInsight
https://redis.com/redis-enterprise/redis-insight/#insight-form

基础命令

启动cil客户端时候,使用下下面命令
redis-cli --raw			使用原始形式展示,可以展示中文数据

quit/exit 退出

查看数据库中都有那些Key
keys *


判断键是否存在
exists AAA


查看数据库中以me结尾的key
keys *me


删除所有key
flushall


查看key过期时间
ttl 元素名称				-1表示未设置过期时间
						-2表示已经过期
						
设置过期时间 10秒
expire 元素名称 时间(秒)

String 字符串 (key-value)

- 键值对区分大小写
- 默认都是字符串存储数据的
- 默认二进制存储,不支持中文


新增
- 如果两条新增语句重复操作一个key,后里面的会覆盖前面的
set		元素名称 元素数值				无过期时间
setex 	元素名称 过期时间 元素数值		过期时间10秒
setnx	元素名称 元素数值				仅当key不存在时才会生效


获取
get 元素名称


删除
del 元素名称							存在1,不存在0

List 有序重复列表

---默认list1是列表的名字---

添加列表
lpush 名称 值1 值2
	- lpush头添加 rpush尾添加
lpush list1 11 22 33		


获取列表
lrange 名称 开始位置 结束位置		(两个位置下标都是0开始)
	- 数值-1表示最后一个数值		lrange list1 0 -1
lrange list1 0 3


删除并返回第一个元素
lpop list1
rpop list1


除了指定部分全部删除
ltrim list1 开始位置 结束位置		(两个位置下标都是0开始)


获取list个数
llen list1


获取指定位置元素
lindex list1 元素位置			位置角标从0开始

Set 无序不重复列表

添加
sadd 名称 值1 值2
sadd set1 1 2 3


获取
smembers set名称


判断是否存在
sismember set名称 查询的数值		返回值1表示存在,0表示不存在


删除
srem set名称 删除的数值

SortedSet 有序集合

集合的每个元素都会关联一个浮点类型分数,按照分数进行排序
集合元素是唯一的,但是分数可以重复
默认顺序是从小到大,使用zrevrank可以反转

-----------------------------------

添加
zadd 集合名称 分数1 元素1 分数2 元素2


查看所有
zrange 集合名称 开始位置 结束位置				只查看元素
zrange 集合名称 开始位置 结束位置 withsores		查看元素及其分数
zrevrank


查看指定元素的分数
zscore 集合名称 元素名称


查看元素排名
zrank 集合名称 元素名称						升序排名,排序是从0开始
zrevrank 集合名称 元素名称						降序排名,排序是从0开始

Hash 哈希

键值对的集合,适合存储对象

添加
hset 哈希名称 k1 v1


获取某一个
hget 哈希名称 k值名称


获取全部
hgetall 哈希名称							返回成对的kv


删除某一个
hdel 哈希名称 k值名称


判断是否存在
hexists 哈希名称 k值名称


查看所有key
hkeys 哈希名称


查看数量
hlen 哈希名称

Stream 轻量级消息队列

生成
xadd 消息名称 * 内容1 内容2			*表示自动id(递增)
xadd 消息名称 A-B 内容1 内容2		A时间戳,B序列号


查看数量
xlen 消息名称


查看详细信息
xrange 消息名称 - +				-+表示所有


删除消息
xdel 消息名称 消息id


读取消息
xread count 读取的消息条数 block 阻塞的毫秒 streams 消息队列名称 0			0表示从头开始读取

订阅模式

订阅频道
subscribe 频道名称


发布频道消息
publish 频道名称 消息内容