目录
一、概述
1.NoSQL
1.1 简述
1.2 类型
1.3 应用场景
1.3.1 缓存
1.3.2 分布式锁
1.3.3 计数器
1.3.4 会话管理
1.3.5 消息队列
2.Redis
2.1 简述
2.2 特性
2.3 监听端口号
2.4 数据类型
二、安装
1.编译安装
2.RPM安装
三、目录结构
1.查看
2.主配置文件
3.持久化文件存储目录
4.日志文件存储目录
5.PID文件存储目录
四、命令解析
1.redis启动命令
2.redis登录命令
3.检查RDB文件
4.检查AOF文件
五、redis登录更改
1.问题
2.解决办法
六、数据库操作
1.登录数据库
1.1 远程登录
1.2 本地登录
1.2.1 监听回环地址
1.2.2 监听本地网卡地址
2.帮助信息
3.库操作
4.数据操作
4.1 set
4.2 keys
4.3 get
4.4 del
4.5 flushall
4.6 rename
4.7 renamenx
4.8 move
4.9 ttl
4.10 expire
七、Redis持久化
1.RDB模式
1.1 默认状况
1.2 dump.rdb
1.3 触发条件
1.3.1 redis进程退出
1.3.2 手动保存(触发RDB)
2.AOF模式
2.1 默认状况
2.2 appendonly.aof
2.3 开启
非关系型数据库,内存存储
文档型数据库(Document-oriented database)如MongoDB;
列族数据库(Column-family database)如HBase、Cassandra等;
图形数据库(Graph database)如Neo4j、ArangoDB等;
键值对数据库(Key-value database)如Redis、Memcached等;
对象数据库(Object-oriented database)如db4o等。
Redis最常用的应用场景就是缓存,它可以缓存各种类型的数据,如数据库查询结果、API返回结果等,以提高应用程序的响应速度和并发性能。
Redis的分布式锁可以确保在分布式系统中对某个资源的互斥访问,避免多个节点出现并发操作的问题。
Redis支持对计数器的操作,能够方便地实现各种计数器的功能,如网站访问次数计数、订单数量计数等。
Redis可以用来管理会话信息,实现会话的状态存储和共享,避免了单点故障的问题。
Redis支持发布订阅模式,可以作为一个轻量级的消息队列使用,实现异步消息处理和任务派发等功能。
Remote Dictionary Server 远程字典服务
汉化官网 https://www.redis.net.cn/
内存存储、持久化
键值对存储
6379
字符串(string)
哈希值(hash)
列表(list)
集合(set)
位图(bitmap)
wget http://download.redis.io/releases/redis-5.0.8.tar.gz
make && make install
yum install -y epel-release
yum install -y redis
启动
systemctl start redis
注:默认监听127.0.0.1地址
rpm -ql redis
/etc/redis.conf
bind 127.0.0.1 修改监听地址
port 6379 修改监听端口号
pidfile 指定通过该配置文件启动reids进程后的PID文件名称
loglevel 定义日志级别
logfile 定义日志存储路径
databases 指定默认数据库数量
save 定义单位时间内key的改变次数
dbfilename 定义存储RDB持久化数据的文件名称
dir 定义RDB与AOF文件的存储目录
appendonly AOF的启停
appendfilename 定义AOF持久化文件的名称
appendfsync 定义AOF数据同步间隔
requirepass 设置登录redis的密码
/var/lib/redis
/var/log/redis
/var/run/redis
redis-server
redis-cli
选项:
-h redis服务器IP
-p 指定访问端口号
-a 指定登录密码
-n 指定数据库编号
redis-check-rdb
redis-check-aof
更改完port后,systemctl启动redis异常
使用redis-server /etc/redis.conf
若要redis后台运需修改配置文件 daemonize yes
修改配置文件监听地址
vim /etc/redis.conf
开启并修改使用密码
远程登录
注:若不加密码,仍然可进入远程redis,但此时除了退出之外,其余操作皆无效。
redis-cli
redis-cli -h IP -p 端口号
help 命令字
tab补齐
切换 select 数据库编号
设置键值对
set key value
keys * 查看所有键的名称
keys 键名称 查看一个键是否存在
取出键值对
get 键
键不存在则返回空(nil)
删除键值对
del key
清空所有数据库中的数据
注:慎用
重命名键名称
不论更名后的键是否存在都会覆盖原有键,
并将改名前的键的值赋予改名后的键
rename oldkey newkey
重命名键名称
假如改名后键名称存在则更改不成功
renamenx oldkey newkey
移动键值对到指定数据库
move key dbnumber
假如目标数据库中存在同名键则移动失败
查看键值对的生命周期
ttl key
-1 永久
-2 已过期
设置键值对的存储周期
expire key seconds
默认持久化
数据库启动时会读取
宕机
redis程序崩溃
save
注:有别于mysql的备份,此文件存储的是数据。
默认关闭
默认进程启动时读取
appendonly yes
可以与RDB同时使用
注:此文件存储的是命令步骤,与mysql类似。此文件不可手动写入,需自动生成。