01-安装部署
基础知识
NoSQL
-
以Key-Value形式存儲
-
非关系型,分布式,开源,可扩展
-
处理大量数据
-
运行在便宜的PC服务器集群上
-
击碎了性能瓶颈
-
对数据高并发读写
-
对海里数据的高效率存储和访问
-
对数据的高可扩展性和高可用性(分布式)
支持的数据类型:string list set zset(有序集合)
这些数据类型都支持 push/pop add/remove 取交集并集和其他丰富的操作
redis支持各种不同方式的排序
redis数据都是缓存在内存中,也可以周期性把数据写入磁盘或把修改操作写入追加的记录文件
支持多种不同的高级语言
Redis相关知识
- 6379的由来
- Alessiz
Merz, merz 对应九宫格中的6379;
- Alessiz
- redis 默认提供16个数据库, 从下标0开始到15;
- 默认使用0号数据库,可以通过
select 1切换数据库 - 所有数据库的密码一样
- dbsize 查看数据库中key的数量
- flushdb 清空当前数据库中所有的key
- flushall 清空所有数据库中所有的key
- 默认使用0号数据库,可以通过
- redis 是单线程+多路IO复用技术
- 多路复用
- 是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用select和poll函数;
- 传入多个文件描述符,如果有一个文件描述符就绪则返回,否则则赛直到超时。
- 得到就绪状态后进行真正的操作可以在同一个线程中执行,也可以启动线程执行(比如使用线程池)
串行vs多线程+锁vs单线程+多路IO复用- memcache 使用 多线程+锁
- redis 使用 单线程 + 多路IO复用
- 多路复用
- 与memcached的区别
- redis支持多种数据类型
- 支持持久化
- 单线程+多路IO复用

使用场景
- 取最新N个数据操作
- 排行榜应用, Top N
- 需要精确设定过期时间
- 计数器应用
- unique操作 获取某段时间所有数据排重值
- 实时系统,反垃圾系统
- Pub/Sub构建实时消息系统
- 构建队列系统
- 缓存
安装部署
- 下载源码
- 编译
- 启动
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
wget https://download.redis.io/redis-stable.tar.gz
tar -xzvf redis-stable.tar.gz
cd redis-stable
make MALLOC=libc
# make
make install
默认端口 6379
启动redis
# centos-s1 安装地址: /usr/local/java/redis-5.0.3
redis-server ./conf/redis.conf
redis-cli
auth 123456
set name lisi
停止redis
# 1. kill -9 pid
# 2. 在 redis-cli 中执行 shutdown
# 3. pkill redis-server
redis-cli command-line 客户端
redis 后台启动
修改redis配置文件 redis.conf
daemonize yes
安装目录
| 工具 | 说明 |
|---|---|
| redis-benchmark | 性能测试工具,可以在自己PC上测试性能 |
| redis-check-aof | 修复有问题的AOF文件 |
| redis-check-dump | 修复有问题的 dump.rdb 文件 |
| redis-sentinel | redis集群使用 |
| redis-server | redis服务启动命令 |
| redis-cli | redis命令行客户端 |
Redis 的配置
| 参数 | 说明 |
|---|---|
daemonize |
是否后台启动, 默认 no |
| pidfile | 配置多个pid地址;默认/var/run/redis.pid |
bind |
绑定端口,设置只接收来自该IP的请求 |
port |
监听端口,默认6379 |
| timeout | 设置客户端连接时的超时时间,单位秒 |
| loglevel | 共4级,debug,verbose, notice,warning |
| logfile | 配置日志文件地址 |
| databases | 设置数据库的个数,默认使用的数据库为0 |
| save | 设置redi上进行数据库镜像的频率 |
| rdbcompression | 在进行镜像备份时是否进行压缩 |
| Dbfilename | 镜像备份文件名 |
| Dir | 数据库镜像备份的文件存放路径 |
| Masterauth | 主数据库连接需要的密码验证 |
| Requirepass | 设置登录时需要使用的密码 |
| Maxmemory | 设置redis能够使用的最大内存 |
| Appendonly | 开启append only 模式 |

浙公网安备 33010602011771号