Redis学习笔记01Redis特点和安装配置以及运行控制

时间:2022-03-01 09:17:06

1.1. Redis特点

Redis是一种NoSQL数据库,或者非关系型数据库。

Redis是一个开源(BSD授权)的内存数据结构存储系统、可以用作数据库、缓存和消息代理。Redis支持的数据结构有Stringshasheslistssetssorted setsbitmaps,hyperloglogs geospatial indexesRedis拥有内置的复制功能,Lua脚本功能,LRU失效机制,事务机制和不同级别的磁盘持久化机制,还通过Redis SentinelRedis Cluter自动化分区提供了高可用性。

 

Redis的主要特点如下所示:

(1)支持多种常用的数据结构的存取。

(2)支持内存数据集。

(3)支持数据持久化保存到磁盘。

(4)支持异步的主从复制机制。

(5)支持事务机制。

(6)支持发布订阅机制。

(7)支持Lua脚本化。

(8)支持LRU失效机制。

(9)支持监控和通知以及失效自动转化机制。

 

 

Redis官方网站:

https://redis.io/

 

 

以下网站提供了Redis命令学习的在线使用环境:

http://try.redis.io/

 

 

 

 

1.2. Redis安装

 

从官方网站下载页面找到最新的稳定版。

https://redis.io/download

 

本文基于Redis 3.2.9稳定版。

http://download.redis.io/releases/redis-3.2.9.tar.gz

 

Redis暂不提供Windows版本的官方版本,有需要时可使用开源社区版。

https://github.com/MSOpenTech/redis

 

解压缩后执行:

make PREFIX=/opt/redis

make install PREFIX=/opt/redis

至此,Redis可执行文件已经安装到了/opt/redis目录。

可将/opt/redis/bin目录的程序全部移动到/opt/redis目录,并建立好datalogs目录以及redis.conf配置文件。

 

redis-benchmark  redis基准测试程序。

redis-check-aof   redis AOF数据库检测程序。

redis-check-rdb   redis RDB数据库检测程序。

redis-cli         redis客户端程序。

redis-server      redis服务器程序。

redis-sentinel     redis哨兵程序。

 

redis.conf       自建文件, redis配置文件。

data  自建目录,存放redis.rdbredis.aof数据文件。

logs  自建目录,存放redis.log日志文件。

 

 

1.3. Redis配置

Redis的最基本配置如下所示:

 

# 是否使用守护程序在后台运行。yes:是,no:否。

daemonize no

 

# 保存进程ID的文件。

pidfile   "./logs/redis.pid"

 

# 端口号,默认6379

port 6379

 

#  监听队列大小。

tcp-backlog 128

 

# 绑定到哪个IP地址上。

bind 192.168.197.101

 

# 超时时间,秒。在指定时间内没有操作则断开连接。

timeout 300

 

#  keepalive时间,秒。在指定时间内没有操作则发送ACK(SO_KEEPALIVE)

tcp-keepalive  60

 

 

# 日志级别:四个级别;debug,verbose, notice, warning

loglevel debug

 

# 日志文件,或者stdout:标准输出。

logfile    "./logs/redis.log"

 

# 数据库数量。

databases 16

 

# 在指定时间内更新操作达到指定次数则同步数据到数据文件中。

# 60秒内更新了1次则同步。

save 60  1

 

# RDB是否压缩。

rdbcompression yes

 

# RDB数据文件名。

dbfilename  "redis.rdb"

 

# 数据文件目录。

dir   "./data/"

 

# 指定客户端连接密码。

requirepass 123456

 

# 指定最多客户连接数的限制。

maxclients  100

 

# 指定最大内存限制。

maxmemory   16mb

 

# 指定是否每次更新操作都记录日志。

appendonly no

 

# 指定数据更新日志文件名。

appendfilename "redis.aof"

 

# 指定数据更新日志的记录条件:

# no(Redis不主动刷新缓存),

# always(Redis每次更新都刷新缓存),

# everysec(Redis每秒钟刷新缓存1)

appendfsync  everysec

 

 

 

1.4. Redis运行控制

(1)启动Redis服务。

运行以下命令启动Redis服务。

./redis-server   ./redis.conf

 

 

(2)Redis客户端连接到Redis服务。

运行以下命令连接到Redis服务。

./redis-cli -h redis.coe2coe.me -p 6379 -a 123456

 

假定:

 redis服务器地址:redis.coe2coe.me

 redis端口号:6379

 redis 密码: 123456

连接成功后显示:

redis.coe2coe.me:6379>

至此,可以执行各种Redis命令了。

 

redis客户端提示符下,输入quit<ENTER>可断开连接,退出redis客户端程序。

 

如果由于各种原因导致未能成功连接到Redis服务,则Redis-cli给出以下提示:

Could not connect to Redis at redis.coe2coe.me:6379: Connection refused

Could not connect to Redis at redis.coe2coe.me:6379: Connection refused

not connected>

 

(3)Redis客户端停止Redis服务。

执行以下命令可停止redis服务。

./redis-cli -h redis.coe2coe.me -p 6379 -a 123456 shutdown

 

此时可以看到redis服务已经停止运行了。

 

 

(4)Redis RDB数据库检查。

使用redis-check-rdb程序可以检查RDB数据库的各种信息,包括:

Redis版本号、时间戳、内存使用量、使用的逻辑数据库、校验码和键的数量以及过期情况。

 

./redis-check-rdb ./data/redis.rdb

[offset 0] Checking RDB file ./data/redis.rdb

[offset 26] AUX FIELD redis-ver = '3.2.9'

[offset 40] AUX FIELD redis-bits = '64'

[offset 52] AUX FIELD ctime = '1499832632'

[offset 67] AUX FIELD used-mem = '252320'

[offset 69] Selecting DB ID 0

[offset 83] Selecting DB ID 1

[offset 118] Checksum OK

[offset 118] \o/ RDB looks OK! \o/

[info] 2 keys read

[info] 0 expires

[info] 0 already expired