redis
redis简介
Redis是一个开源的高性能键值对数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,并借助许多高层级的接口使其可以胜任如缓存、队列系统等不同的角色。本章将分别介绍Redis的历史和特性,以使读者能够快速地对Redis有一个全面的了解。
特点
作为一款个人开发的数据库,Redis究竟有什么魅力吸引了如此多的用户呢?
1.以字典结构存储数据
2.允许通过TCP协议读取字典的内容
3.强大的缓存系统, 可以为每个键设置TTL, 以及按照一定规则自动淘汰不需要的键
4.支持使用列表的形式构造任务队列
5.数据存储在内存中也可以持久化到硬盘
2.1存储结构
有过脚本语言编程经验的读者对字典(或称映射、关联数组)数据结构一定很熟悉,如代码dict["key"]="value"中dict是一个字典结构变量,字符串"key"是键名,而"value"是键值,在字典中我们可以获取或设置键名对应的键值,也可以删除一个键。Redis是REmote DIctionary Server(远程字典服务器)的缩写,它以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容。同大多数脚本语言中的字典一样,Redis字典中的键值除了可以是字符串,还可以是其他数据类型。到目前为止Redis支持的键值数据类型如下:
字符串类型
散列类型
列表类型
集合类型
有序集合类型
这种字典形式的存储结构与常见的MySQL 等关系数据库的二维表形式的存储结构有很大的差异。举个例子,如下所示,我们在程序中使用post变量存储了一篇文章的数据(包括标题、正文、阅读量和标签):
post["title"]="Hello World!"
post["content"]="Blablabla..."
post["views"]=0
post["tags"]=["Python","Django","Flask"]
redis安装
学习Redis最好的办法就是动手尝试它。在介绍Redis最核心的内容之前,本章先来介绍一下如何安装和运行Redis,以及Redis的基础知识,使读者可以在之后的章节中一边学习一边实践。
window安装Redis
安装Redis是开始Redis学习之旅的第一步。在安装Redis前需要了解Redis的版本规则以选择最适合自己的版本,Redis约定次版本号(即第一个小数点后的数字)为偶数的版本是稳定版(如2.4版、2.6版),奇数版本是非稳定版(如2.5版、2.7版),推荐使用稳定版本进行开发和在生产环境使用。
下载
window安装
(网盘链接:https://pan.baidu.com/s/1ymxRgUX_mja_fmvqeBH3GA 提取码:love
Centos安装
http://download.redis.io/redis-stable.tar.gz
http://download.redis.io/releases/redis-6.0.6.tar.gz
安装
直接解压即可
文件说明

·redis-benchmark.exe 测redis性能的程序,可以同时模拟N多客户端查询和赋值
·redis-check-aof.exe 更新日志检查–修复日志
·redis-check-dump.exe 本地数据库检查
·redis.conf redis配置文件redis-cli.exe 客户端连接 redis服务器工具
·redis-server.exe redis服务器启动程序
可把redis添加为系统服务,设置为开机启动步骤如下
打开cmd指令窗口
输入你刚才解压的文件路径
然后输入redis-server redis.windows.conf 命令

接下来部署Redis为windows下的服务 首先关掉上一个窗口再打开一个新的cmd命令窗口
然后输入指令redis-server --service-install redis.windows.conf
随后,进入右击此电脑–管理–服务和应用程序–服务 启动服务

Redis常用的指令 卸载服务:redis-server --service-uninstall 开启服务:redis-server --service-start 停止服务:redis-server --service-stop 测试redis,通过cd到我们解压的目录,输入指令通过Set get指令查看是否成功

图形客户端
百度链接:https://pan.baidu.com/s/10LQ9tvj8bIUECe4E3f4xpw 提取码:love

Linux安装
redis源码 http://download.redis.io/redis-stable.tar.gz下载。
下载安装包后解压即可使用make 命令完成编译,完整的命令如下:
1.升级GCC
Linux一般默认GCC版本是4.8.5,Redis新版本使用了更高版本的GC
$ gcc -v # 查看gcc版本
$ yum -y install centos-release-scl # 升级到9.1版本
$ yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
$ scl enable devtoolset-9 bash
#以上为临时启用,如果要长期使用gcc 9.1的话:
$ echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
2.源码安装
wget http://download.redis.io/redis-stable.tar.gz
tar xzf redis-stable.tar.gz
cd redis-stable
make
make install # 默认会安装到/usr/local/bin 目录下
#make && make PREFIX=/usr/local/redis install #(不想安装到认目录,可用 PREFIX 指定了安装目录)
redis安装在/usr/local/bin/目录

# redis可执行文件(因为配置了redis的环境变量,redis/bin中的所有命令都可被识别)
redis-server #Redis服务器
redis-cli #Redis命令行客户端
redis-benchmark #Redis性能测试工具
redis-check-aof #AOF文件修复工具
redis-check-dump #RDB文件检测工具
redis-sentinel #Sentinel 服务器
3.启动
#三种启动方式
cd /usr/local/bin
./redis-server 默认端口6379
./redis-server --port 端口号
./redis-server /path/to/redis.conf 启动时的配置文件将覆盖系统同名配置项



4.更改配置
复制安装目录中的redis.conf作为配置文件,将其拷贝到/usr/local/etc目录,以后运行redis服务,就指定该配置文件。
mkdir -p /usr/local/etc # 创建配置文件夹
cd /usr/local/redis-stable
cp redis.conf /usr/local/etc/ #拷贝
# 更改配置
cd /usr/local/etc/
vi redis.conf
# 开启守护进程(表明reids启动后在后台运行)
daemonize yes
# 启动
cd /usr/local/bin
./redis-server /usr/local/etc/redis.conf # 后台启动

5.配置redis环境变量
# 编辑 /etc/profile
vi /etc/profile
# 在配置文件中添加环境变量
export REDIS_HOME=/usr/local # redis安装目录
export PATH=$PATH:$REDIS_HOME/bin
# 重新编译配置文件
. /etc/profile
# 现在可以直接识别redis指令了
redis-server /usr/local/etc/redis.conf # 启动
redis-cli # 连接
redis-cli shutdown # 关闭

6. 常见命令
# 检查服务是否正常启动
ps -ef | grep redis
# ping命令检查连接是否正常,正常就会收到PONG
redis-cli ping
# 正常关闭服务
redis-cli shutdown
# 手启服务时指定配置文件,(前面默认配置在/usr/local/etc/redis.conf)
redis-server /usr/local/etc/redis.conf
# 通过-h和-p参数指定IP和端口信息
redis-cli -h 127.0.0.1 -p 6380
8.redis中指令
redis 127.0.0.1:6379> info #查看server版本内存使用连接等信息
redis 127.0.0.1:6379> client list #获取客户连接列表
redis 127.0.0.1:6379> client kill 127.0.0.1:33441 #终止某个客户端连接
redis 127.0.0.1:6379> dbsize #当前保存key的数量
redis 127.0.0.1:6379> save #立即保存数据到硬盘
redis 127.0.0.1:6379> bgsave #异步保存数据到硬盘
redis 127.0.0.1:6379> flushdb #当前库中移除所有key
redis 127.0.0.1:6379> flushall #移除所有key从所有库中
redis 127.0.0.1:6379> lastsave #获取上次成功保存到硬盘的unix时间戳
redis 127.0.0.1:6379> monitor #实时监测服务器接收到的请求
redis 127.0.0.1:6379> slowlog len #查询慢查询日志条数
(integer) 3
redis 127.0.0.1:6379> slowlog get #返回所有的慢查询日志,最大值取决于slowlog-max-len配置
redis 127.0.0.1:6379> slowlog get 2 #打印两条慢查询日志
redis 127.0.0.1:6379> slowlog reset #清空慢查询日志信息
注意:不能强制关闭redis服务器,会丢失数据,正常关闭指令是shutdow
参考文档:

浙公网安备 33010602011771号