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