redis
Redis
技术分类
技术可以大致分为以下几类
(1)功能性
(2)扩展性
(3)性能
Redis是一种解决服务器性能的技术
安装
linux
查看GCC编译环境
1 |
|
(1)下载redis压缩包
下载地址:https://redis.io/
(2)上传压缩包到linux服务器/opt
目录下
(3)解压
1 |
|
进入解压文件夹
1 |
|
编译
1 |
|
跳过测试,直接安装
1 |
|
默认安装目录
1 |
|
windows
(1)下载解压压缩包
https://github.com/microsoftarchive/redis/releases/download/win-3.2.100/Redis-x64-3.2.100.zip
(2)配置环境变量
(3)启动
1 |
|
(4)连接
1 |
|
配置文件
在配置文件中配置
1 |
|
持久化策略
RDB
AOF
启动
备份
1 |
|
修改/mnt/redis-6.2.6
配置文件,将daemonize no
改成yes
启动
1 |
|
连接
1 |
|
关闭
1 |
|
Redis相关知识介绍
默认占用端口:6379
一共有16个库,默采用0号库
库的切换
1 |
|
redis底层采用的是单线程 + IO多路复用技术
什么是IO
多路复用技术
Redis基本操作
key相关操作
查看所有key
1 |
|
查看key
是否存在
1 |
|
查看key
类型
1 |
|
删除key
1 |
|
异步删除key
1 |
|
设置过期时间
1 |
|
查看过期时间
1 |
|
-1 代表永不过期
-2 代表已过期
查看当前key
数量
1 |
|
清空当前库中的key
1 |
|
删除所有库key
1 |
|
数据类型
String
redis
中的String
类型底层类似与java
中的ArrayList
数据结构
设置
1 |
|
以下这种方式,只有当key
存在的时候,才会设置成功
1 |
|
多个值同时设置
1 |
|
只有当key
存在的时候,才会设置成功
1 |
|
获取value
1 |
|
同时获取多个key
1 |
|
获取value
长度
1 |
|
追加
1 |
|
自增
1 |
|
自减
1 |
|
自定义步长
1 |
|
获取指定范围value
1 |
|
指定位置设置
1 |
|
设置过期时间
1 |
|
获取值的同时,设置值
1 |
|
List
底层是一个快速链表(数组+双向链表)
ziplist
是一块连续分配的存储空间
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
获取
1 |
|
end = -1
代表获取所有
获取指定位置元素
1 |
|
获取list
长度
1 |
|
指定位置插入
1 |
|
从左边开始删除count个值为value
的元素
1 |
|
Set
底层数据结构是hashSet
增
1 |
|
获取所有values
1 |
|
判断是否存在value
1 |
|
返回集合中元素个数
1 |
|
删除某个元素
1 |
|
随机取值
1 |
|
随机取出多个值
1 |
|
从一个集合中移动到另一个集合
1 |
|
返回两个集合的交集
1 |
|
返回两个集合的并集
1 |
|
返回两个集合的差集
1 |
|
Hash
底层数据结构是hasptable
增
1 |
|
一次添加多个键值对
1 |
|
当field
字段不存在时,设置才有效
1 |
|
查
1 |
|
判断field
是否存在
1 |
|
获取所有keys
1 |
|
获取所有values
1 |
|
自增
1 |
|
Zset
有序集合
增
1 |
|
自增
1 |
|
查
1 |
|
从大到小
1 |
|
删
1 |
|
统计
1 |
|
排名,返回元素中的排名
1 |
|