欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

【安装配置Redis】

程序员文章站 2022-07-06 12:10:03
Redis官网:https://redis.io Redis是完全开源免费的,遵守 "BSD协议" . Redis是一个高性能的 数据库. @[TOC] Redis具有以下特点 1. 支持数据持久化,可将内存中的数据保存至磁盘,重启后可以再次加载进行使用. 2. 支持五种数据类型. 3. 支持数据库 ......

目录

redis官网:https://redis.io

redis是完全开源免费的,遵守bsd协议.
redis是一个高性能的key-value数据库.
@
***

redis具有以下特点

  1. 支持数据持久化,可将内存中的数据保存至磁盘,重启后可以再次加载进行使用.
  2. 支持五种数据类型.
  3. 支持数据库备份.

redis的优势

  1. 性能极高,读110000次/s,写81000次/s.
  2. 丰富的数据类型,string、lists、hashes、sets以及ordered sets.
  3. 所有操作都是原子性的,意思是要么成功执行要么完全失败不执行,多个操作支持事物,即multi和exec指令包起来.
  4. 丰富的特性,支持publish/subscribe、通知、key过期等特性.

redis数据类型
·
1.string 字符串
redis的string可以包含任何数据类型,包括图片以及序列化的对象.
一个键最大能存储512mb.
·
2.hash 哈希
redis的hash是一个string类型的key和value映射表.
hash特别适合存储对象,类比python中的字典.
·
3.list 列表
redis的list是简单的字符串列表,按照插入顺序排序.
可以从两端进行添加,类似于双向链表,还可以进行阻塞.
·
4.set 集合
redis的set是字符串类型的集合,无序且不重复.
集合是通过哈希表实现的,所以增删查的时间复杂度都是o(1).
·

  1. zset 有序集合
    redis的zset和set基本一样,不同的是zset每个元素都会关联一个double类型的分数.
    redis正是通过对这个分数的排序来实现集合的有序存储.
    ***

安装

进入官网,下载redis:
【安装配置Redis】
【安装配置Redis】
下载完成后,按如下步骤安装
·
1.进入redis所在文件夹,输入命令将其解压到/usr/local目录下:

tar zxf redis-5.0.2.tar.gz -c /usr/local

·
2.进入解压后的文件夹,开始编译安装:

make && make install

·
3.启动测试redis:

redis-server &

【安装配置Redis】

关闭redis

# 进入交互模式
redis-cli
# 执行关闭命令
shutdown

如果无法正常关闭,可直接对其pid进行操作:

# 下面两种方法,直接干掉所有redis实例
killall redis-server
pkill redis-server

redis的可执行文件
.
redis-benchmark 用于进行redis性能测试的工具
redis-check-dump 用于修复出问题的dump.rdb文件
redis-cli redis的客户端
redis-server redis的服务端
redis-check-aof 用于修复出问题的aof文件
redis-sentinel 用于集群管理


配置

这里根据自己的配置习惯进行配置.
.
1.安装完毕后,在redis目录下新建3个文件夹:

mkdir bin etc db

·

  1. 把/usr/local/redis/src目录下的如下4个文件cp到/usr/local/redis/bin目录下:
cd /usr/local/redis/src
# -p表示复制权限
cp -p mkreleasehdr.sh redis-benchmark redis-check-rdb redis-cli redis-server ../bin/

·

  1. 将/usr/local/redis目录下的redis.conf文件拷贝到/usr/local/redis/etc目录下:
cd /usr/local/redis
cp -p redis.conf etc/

·
4.如下,修改配置文件/usr/local/redis/etc/redis.conf:

vim /usr/local/redis/etc/redis.conf

关于vim编辑器的用法请参考
也可通过redis-cli命令进入交互模式进行配置,详见文章结尾.

配置文件 redis.conf
·
端口
port 6380
.
监听地址
bind 0.0.0.0
.
开启daemon模式,即后台运行
daemonize yes
.
pid文件路径
pidfile /var/run/redis/6380.pid
.
日志级别
loglevel notice
.
redis数据存放位置
dir /usr/local/redis5/db/6380/
.
日志文件路径
logfile /var/log/redis/6380.log
.
redis3.0之后的安全模式
安全模式可能会阻挡远程连接,可给redis设置密码解决这个问题
protected-mode yes
.
reids密码
requirepass redis@123456
·
修改客户端超时时间
timeout 300
·
设置数据库的数量,可以使用select <dbid>命令在连接上指定数据库id
databases 16

指定存储至本地数据库时是否压缩数据
rdbcompression yes
·
默认为yes,redis采用lzf压缩
如果为了节省cpu时间,可以注释掉该选项,但会导致数据库文件变的巨大

指定本地数据库文件名,其存储的数据为二进制类型
dbfilename dump.rdb
.
指定在多长时间内,有多少次更新操作才将数据同步到数据文件
redis默认提供了3个条件:
save 900 1 每900秒内有1个修改记录时转存
save 300 10 每300秒内有10个修改记录时转存
save 60 10000 每60秒内有10000修改记录时转存
·
还可以多个条件配合
save <seconds> <changes>

指定是否在每次更新操作后进行日志记录
appendonly no
·
redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失
因为redis本身同步数据文件是按上面的save条件来同步的,所以有的数据会在一段时间内只存在于内存中
.
指定更新日志条件,
appendfsync everyses
此配置有3个可选值:
no:等待操作系统进行数据缓存同步到磁盘(快)
always:每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
everysec:每秒同步一次(折衷,默认值)
***
最后,启动服务:

# 指定配置文件进行启动
redis-server /usr/local/redis/etc/redis_6380.conf 

·
进入交互模式:

# -h:指定redis主机ip  -p:指定服务端口 -a:指定redis密码
redis-cli -h 127.0.0.1 -p 6380 -a redis_password

·
交互模式中的操作:

# 获取所有配置项
reids 127.0.0.1:6379> config get *

# 获取单个配置项:config get 配置名
redis 127.0.0.1:6379> config get loglevel

# 编辑配置:config set 配置名 "新的参数"
redis 127.0.0.1:6379> config set loglevel "debug"

# 检查是否设置的密码
127.0.0.1:6380> config get requirepass

# 如果没有密码,也可给redis设置密码
127.0.0.1:6380> config set requirepass "xxxxxx"

"""以下操作可实现在运行状态下切换rdb备份模式至aof备份模式"""
# 开启aof存储模式
127.0.0.1:6379> config set appendonly yes
# 关闭rdb存储模式
127.0.0.1:6379> config set save ""
# 更改完存储模式后别忘了修改配置文件