Redis介绍和安装

栏目: 数据库 · 发布时间: 6年前

内容简介:相比其他个Key-Value存储的系统;有这些优势:

一. Redis的介绍

Redis 是一个Key-Value存储的系统;它支持存储的value类型有string(字符串),list(列表),set(集合),zset(有序集合);为了保证效率;数据都缓存在内存中;它也周期性将内存数据写入磁盘或者把读写操作写入记录文件。Redis使用单线程模型;还有其他特性:例如健过期,发布/订阅,事务功能等等。

相比其他个Key-Value存储的系统;有这些优势:

  1. 数据的持久性;Redis会周期性将内存数据写入磁盘和将读写操作写入记录文件。保证数据库在重启之后数据不丢失
  2. 支持master-slave模式;主从复制
  3. 支持存储value类型多样性;有list(列表),set(集合),zset(有序集合),bitmap等等。
  4. 在3.0版本正式提供了高可用分布式架构Redis Cluster集群;提供了高可用性,读写和容量的扩展。

二. Redis的安装与部署

2.1 下载地址

Redis下载地址

2.2 安装

tar -zxvf redis-5.0.0.tar.gz
cd redis-5.0.0
make 
cd src
make install PREFIX=/usr/local/redis
mkdir -p /usr/local/redis/etc
mv ../redis.conf /usr/local/redis/etc

2.3 创建 redis 用户

习惯了使用非root用户来管理数据库;前提我们需要创建redis用户和相关目录

useradd redis
mkdir -p /data/redis/{logs,conf,pid,data}
chown -R redis:redis /data/redis

配置redis;在/data/redis/conf目录下创建redis-6379.conf文件;内容如下

###基本参数###
daemonize yes
pidfile /data/redis/pid/redis-6379.pid
port 6379
tcp-backlog 65535
bind 0.0.0.0
timeout 0
tcp-keepalive 0
loglevel notice
logfile /data/redis/logs/redis-6379.log
databases 16
lua-time-limit 5000
maxclients 10000
protected-mode yes
dir /data/redis/data/

###慢日志参数###
slowlog-log-slower-than 10000
slowlog-max-len 128

###内存参数###
#maxmemory 1G
#maxmemory-policy volatile-lru

###RDB持久化参数###
save 3600 1
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump-6379.rdb"

###AOF持久化参数###
no-appendfsync-on-rewrite yes
appendonly yes
appendfilename "appendonly-6379.aof"
appendfsync no
auto-aof-rewrite-min-size 512mb
auto-aof-rewrite-percentage 100
aof-load-truncated yes
aof-rewrite-incremental-fsync yes

###客户端Buffer参数### 
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60

###其他参数###
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
latency-monitor-threshold 0
hz 10

###安全参数###
requirepass li0924
# masterauth 123456789
rename-command KEYS REDIS_KEYS
rename-command FLUSHDB REDIS_FLUSHDB
rename-command FLUSHALL REDIS_FLUSHALL

###复制参数(从库)###
###集群参数###

相关配置参数:

  • daemonize:如需要在后台运行,把该项的值改为yes
  • pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址
  • bind:指定redis只接收来自该IP的请求,如果不设置,那么将处理所有请求,在生产环节中最好设置该项
  • port:监听端口,默认为6379
  • timeout:设置客户端连接时的超时时间,单位为秒
  • loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice
  • logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上
  • database:设置数据库的个数,默认使用的数据库是0
  • save:设置redis进行数据库镜像的频率
  • rdbcompression:在进行镜像备份时,是否进行压缩
  • dbfilename:镜像备份文件的文件名
  • dir:数据库镜像备份的文件放置的路径
  • slaveof:设置该数据库为其他数据库的从数据库
  • masterauth:当主数据库连接需要密码验证时,在这里设定
  • requirepass:设置客户端连接后进行任何其他指定前需要使用的密码
  • maxclients:限制同时连接的客户端数量
  • maxmemory:设置redis能够使用的最大内存
  • appendonly:开启appendonly模式后,redis会把每一次所接收到的写操作都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态
  • appendfsync:设置appendonly.aof文件进行同步的频率
  • vm_enabled:是否开启虚拟内存支持
  • vm_swap_file:设置虚拟内存的交换文件的路径
  • vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0
  • vm_page_size:设置虚拟内存页的大小
  • vm_pages:设置交换文件的总的page数量
  • vm_max_thrrads:设置vm IO同时使用的线程数量
  • stop-writes-on-bgsave-error 强制关闭Redis快照导致不能持久化;默认为yes

配置用户环境变量

export REDIS_HOME=/usr/local/redis
export PATH=$PATH:$REDIS_HOME/bin

alias rds_start="redis-server /data/redis/conf/redis-6379.conf"
alias rds_stop="redis-cli -a li0924 shutdown &> /dev/null"
alias rsql="redis-cli"

2.4 启动redis

redis-server /data/redis/conf/redis-6379.conf
# 或者
rds_start

2.5 关闭redis

redis-cli shutdown
# 或者
rds_stop

当然还有一种更直接,更粗暴的方式 kill进程 。不建议这样操作;因为这样不会做持久化操作;

pkill redis-server

2.6 redis命令行

redis-cli
# 或者
rsql

2.7 redis工具箱

redis-benchmark:redis性能测试工具
redis-check-aof:检查aof日志的工具
redis-check-dump:检查rdb日志的工具
redis-cli:连接用的客户端
redis-server:redis服务进程

现在可以愉快玩耍redis

# 1. 启动redis数据库
[redis@Postgres ~]$ rds_start 
# 2. 连接redis数据库
[redis@Postgres ~]$ rsql
# 3. 密码安全认证
127.0.0.1:6379> AUTH li0924
OK
# 4. 查看所有健;原命令是KEYS *;
127.0.0.1:6379> redis_keys *
1) "name"
# 5. 设置K-V
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> redis_keys *
1) "hello"
2) "name"
# 6. 获取健hello的值
127.0.0.1:6379> get hello
"world"
# 7. 退出redis客户端
127.0.0.1:6379> exit
# 8. 关闭redis数据库
[redis@Postgres ~]$ rds_stop
[redis@Postgres ~]$ rsql
Could not connect to Redis at 127.0.0.1:6379: Connection refused

以上所述就是小编给大家介绍的《Redis介绍和安装》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Learning JavaScript

Learning JavaScript

Shelley Powers / Oreilly & Associates Inc / 2006-10-17 / $29.99

As web browsers have become more capable and standards compliant, JavaScript has grown in prominence. JavaScript lets designers add sparkle and life to web pages, while more complex JavaScript has led......一起来看看 《Learning JavaScript》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换