Redis安装部署


Redis简介

  redis属于典型的内存键值数据库,不同键值数据库⽀持的 key 类型⼀般差异不⼤,⽽ value 类型则有较⼤差别。我们在对键值数据库进⾏选型时,⼀个重要的考虑因素是它⽀持的 value 类型。例如,Memcached ⽀持的value类型仅为 String 类型,⽽ Redis ⽀持的 value 类型包括了String、哈希表、 列表、集合。Redis能够在实际业务场景中得到广泛的应用,就是得益于支持多样化类型的value。从使⽤的⻆度来说,不同value类型的实现,不仅可以⽀撑不同业务的数据需求,而且也隐含着不同数据结构在性能、空间效率等方面的差异,从而导致不同的value操作之间存在着差异。


一、基础环境

  1. 安装依赖包
    yum -y install tcl gcc
  2. 修改内核参数
echo "vm.overcommit_memory=1"  >> /etc/sysctl.conf 
echo "net.core.somaxconn=511"  >> /etc/sysctl.conf 

vim /etc/rc.local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
 echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
 echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
echo 511 > /proc/sys/net/core/somaxconn
chmod +x rc.local

内核参数解释

参数名称参数介绍参数实现
内存⼤⻚操作系统提供的内存⼤⻚机 制,其优势是,可以在⼀定程 序上降低应⽤程序申请内存的 次数。 对于 Redis 这种对性能和延迟 极其敏感的数据库来说,我们 希望 Redis 在每次申请内存 时,耗时尽量短,所以我不建 议你在 Redis 机器上开启这个 机制。echo never > /sys/kernel/mm/transparent_hugepage/enabled
内存分配Linux操作系统对⼤部分申请内 存的请求都回复yes,以便能运 ⾏更多的程序。因为申请内存 后,并不会⻢上使⽤内存,这 种技术叫做overcommit。 建议 配置允许系统可以分配所有的 物理内存。防⽌fork任务因内存⽽失败。推荐设置为1 代表允许超量使⽤直到⽤完。 echo “vm.overcommit_memory=1” >> /etc/sysctl.confsysctl vm.overcommit_memory=1
socket连 接队列表示socket监听的backlog上 限。默认值是128。 backlog就是socket的监听队列,当⼀个请求尚未被处理或 建⽴时,他会进⼊backlog。⽽ socket server可以⼀次性处理 backlog中的所有请求,处理后 的请求不再位于监听队列中。 当server处理请求较慢,以⾄ 于监听队列被填满后#推荐将该值调整⼤ echo 1280 > /proc/sys/net/core/somaxconn

二、安装

  1. 指定安装目录
    mkdir -p /usr/local/redis/{bin,conf,log,run,data}
    进入redis安装目录
    make && cd src
    将执行文件redis-benchmark、redis-check-aof、redis-check-dump、redis-cli、redis-sentinel、redis-server拷贝至/usr/local/redis/bin下

    • redis-server服务端启动文件
    • redis-cli客户端连接程序
    • redis-benchmark性能测试
    • redis-sentinel
  2. 将配置文件拷贝至
    cp …/redis.conf /usr/local/redis/conf
    修改配置文件

bind
	如果没用通过bind命令明确绑定ip,redis可以监听到请求过来的所有网络接口,
	bind后面拼接1个或多个ip地址,那么该redis实例只能监听到来自这几个ip的请求,
	举例:
	bind 192.168.1.100 10.0.0.1
	bind 127.0.0.1 ::1
	redis默认配置的是只允许本机访问:bind 127.0.0.1
	如果需要redis允许其他ip访问,那么注释掉默认配置即可:#bind 127.0.0.1
 
protected-mode
	protected mode是一个安全保护层,用来避免redis实例暴漏在互联网被访问或者利用。
	如果protected-mode yes开启保护模式并且没有通过bind绑定外部的ip地址并且没有通过requirepass配置密码,那么该redis实例只能接受本地127.0.0.1回环地址的连接。
	Redis默认是开启保护模式的:protected-mode yes,如果想运行其他主机访问,那么可以将保护模式关闭:protected-mode no。
 
port
	port用来配置redis接受连接的端口,
	默认配置的是6379:port 6379

daemonize
	默认配置:daemonize no,redis默认不是以守护进程的方式后台运行,如果想后台运行,开启配置:daemonize yes

以上参数是为了基础部署使用,实际生产环境请参照实际运行进行调整。

  1. 手动启动/停止redis服务
    启动
    ./redis-server ../redis.conf
    停止
    ./redis-cli -p 端口号 [-a password] shutdown
  2. 使用systemctl进行管理
cp ../utils/redis_init_script /etc/init.d/redis  #不同版本可能位置不同
/etc/init.d/redis
	Port           : 6379
	Config file    : /usr/local/redis/conf/redis.conf
	Log file       : /usr/local/redis/log/redis.log
	Data dir       : /usr/local/redis/data
	Executable     : /usr/local/redis/bin/redis-server  /usr/local/redis/conf/redis.conf
	Cli Executable : /usr/local/redis/bin/redis-cli


	# redis         Start up the redis server daemon
	#
	# chkconfig: 2345 55 25
     添加chkconfig 开机启动   
     ....


redis.service
	[Unit]
	Description=Redis Server
	After=network-online.target
	
	[Service]
	Type=forking
	PIDFile=/var/run/redis_6379.pid
	ExecStart=/etc/init.d/redis start
	ExecStop=/etc/init.d/redis stop
	ExecReload=/etc/init.d/redis reload
	PrivateTmp=true
	
	[Install]
	WantedBy=multi-user.target

三、ARM支持

Redis 4.0及以上版本通常支持ARM处理器,特别是Raspberry Pi作为主平台。Redis的每一个新版本都在Pi环境中进行了测试。

总结

以上是Redis服务的基本部署,有任何相关问题,欢迎留言讨论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值