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
参考文档:

http://blog.csdn.net/love__coder/article/details/8271832

posted @ 2020-12-17 20:29  李乐彤  阅读(118)  评论(0)    收藏  举报