Redis安装

root
233
文章
0
评论
2021年2月19日23:57:22 评论 4569字阅读15分13秒

Redis安装

Redis的应用

  • 热点数据加速查询(主要场景),如热点商品,热点新闻,热点资讯,推广类等高访问量信息等
  • 任务队列,如秒杀,抢购,购票排队等
  • 及时信息查询,如各位排行榜,各类网站访问统计,公交到站信息,在线人数信息(聊天室,网站)设备信号等
  • 时效性信息控制,如验证码控制,投票控制等
  • 分布式数据共享,如分布式集群架构中的session分离
  • 消息队列
  • 分布式锁子

Redis的下载

基于linux环境安装Redis

  • Redis版本 5.0.4
  • 服务器版本 Linux CentOS 7.6 64位

下载Redis

进入官网找到下载地址 https://redis.io/download

[root@kk ~]# wget http://download.redis.io/releases/redis-6.0.10.tar.gz

 

[root@kk data]# tar -xf redis-6.0.10.tar.gz

//修改redis目录名称,移动到/usr/local/redis
[root@kk data]# mv redis-6.0.10 /usr/local/redis

[root@kk data]# ll /usr/local/
total 4
drwxr-xr-x. 2 root root    6 Apr 11  2018 bin
drwxr-xr-x. 2 root root    6 Apr 11  2018 etc
drwxr-xr-x. 2 root root    6 Apr 11  2018 games
drwxr-xr-x. 2 root root    6 Apr 11  2018 include
drwxr-xr-x  3 root root   26 Feb 19 06:26 java
drwxr-xr-x. 2 root root    6 Apr 11  2018 lib
drwxr-xr-x. 2 root root    6 Apr 11  2018 lib64
drwxr-xr-x. 2 root root    6 Apr 11  2018 libexec
drwxrwxr-x  7 root root 4096 Jan 12 22:25 redis
drwxr-xr-x. 2 root root    6 Apr 11  2018 sbin
drwxr-xr-x. 5 root root   49 Feb 18 21:47 share
drwxr-xr-x. 2 root root    6 Apr 11  2018 src


 

安装依赖包

root@kk ~]# yum -y install gcc gcc-c++ libstdc++-deve

编译

cd到/usr/local/redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容。

[root@kk data]# cd /usr/local/redis/
[root@kk redis]# make

 

安装

输入以下命令

1
make PREFIX=/usr/local/redis install
[root@kk redis]#make PREFIX=/usr/local/redis install

 

这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,

库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在/usr/local/share目录。这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis

编译安装出现错误,

make[1]: *** [server.o] Error 1
make[1]: Leaving directory `/usr/local/redis/src'
make: *** [install] Error 2

 

下载新版本gcc
root@kk redis]# gcc -v 
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 

[root@kk redis]# yum -y install centos-release-scl    # 升级到9.1版本
[root@kk redis]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
临时使用Gcc
[root@kk redis]# scl enable devtoolset-9 bash

以上为临时启用,如果要长期使用gcc 9.1的话:
[root@kk redis]# echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

 

再次进行编译安装

[root@kk redis]# make clean
make PREFIX=/usr/local/redis install

显示安装成功

 

启动redis

 

//后台
[root@kk redis]# ./bin/redis-server& ./redis.conf
//前台
[root@kk redis]# ./bin/redis-server ./redis.conf

[root@kk src]# cp /usr/local/redis/src/redis-cli /usr/local/bin

[root@kk src]# redis-cli
127.0.0.1:6379> 

 

Redis.conf

daemonize yes #是否以后台进程运行

pidfile /var/run/redis/redis-server.pid  #pid文件位置

port 6379#监听端口

bind 127.0.0.1  #绑定地址,如外网需要连接,设置0.0.0.0,如果绑定上了只能通过这个IP访问

timeout 300   #连接超时时间,单位秒

loglevel notice #日志级别,分别有:

# debug :适用于开发和测试

# verbose :更详细信息,默认

# notice :适用于生产环境

# warning :只记录警告或错误信息

logfile /var/log/redis/redis-server.log  #日志文件位置

syslog-enabled no  #是否将日志输出到系统日志

databases 16#设置数据库数量,默认数据库为0



############### 快照方式 ###############



save 900 1  #在900s(15m)之后,至少有1个key发生变化,则快照

save 300 10  #在300s(5m)之后,至少有10个key发生变化,则快照

save 60 10000 #在60s(1m)之后,至少有1000个key发生变化,则快照

rdbcompression yes  #dump时是否压缩数据

dir /var/lib/redis  #数据库(dump.rdb)文件存放目录



############### 主从复制 ###############



slaveof <masterip> <masterport> #主从复制使用,用于本机redis作为slave去连接主redis

masterauth <master-password>  #当master设置密码认证,slave用此选项指定master认证密码

slave-serve-stale-data yes   #当slave与master之间的连接断开或slave正在与master进行数据同步时,如果有slave请求,当设置为yes时,slave仍然响应请求,此时可能有问题,如果设置no时,slave会返回"SYNC with master in progress"错误信息。但INFO和SLAVEOF命令除外。



############### 安全 ###############



requirepass foobared  #配置redis连接认证密码



############### 限制 ###############



maxclients 128#设置最大连接数,0为不限制

maxmemory <bytes>#内存清理策略,如果达到此值,将采取以下动作:

# volatile-lru :默认策略,只对设置过期时间的key进行LRU算法删除

# allkeys-lru :删除不经常使用的key

# volatile-random :随机删除即将过期的key

# allkeys-random :随机删除一个key

# volatile-ttl :删除即将过期的key

# noeviction :不过期,写操作返回报错

maxmemory-policy volatile-lru#如果达到maxmemory值,采用此策略

maxmemory-samples 3  #默认随机选择3个key,从中淘汰最不经常用的



############### 附加模式 ###############



appendonly no  #AOF持久化,是否记录更新操作日志,默认redis是异步(快照)把数据写入本地磁盘

appendfilename appendonly.aof #指定更新日志文件名

# AOF持久化三种同步策略:

# appendfsync always  #每次有数据发生变化时都会写入appendonly.aof

# appendfsync everysec #默认方式,每秒同步一次到appendonly.aof

# appendfsync no    #不同步,数据不会持久化

no-appendfsync-on-rewrite no  #当AOF日志文件即将增长到指定百分比时,redis通过调用BGREWRITEAOF是否自动重写AOF日志文件。



############### 虚拟内存 ###############



vm-enabled no   #是否启用虚拟内存机制,虚拟内存机将数据分页存放,把很少访问的页放到swap上,内存占用多,最好关闭虚拟内存

vm-swap-file /var/lib/redis/redis.swap  #虚拟内存文件位置

vm-max-memory 0  #redis使用的最大内存上限,保护redis不会因过多使用物理内存影响性能

vm-page-size 32  #每个页面的大小为32字节

vm-pages 134217728 #设置swap文件中页面数量

vm-max-threads 4  #访问swap文件的线程数



############### 高级配置 ###############



hash-max-zipmap-entries 512  #哈希表中元素(条目)总个数不超过设定数量时,采用线性紧凑格式存储来节省空间

hash-max-zipmap-value 64   #哈希表中每个value的长度不超过多少字节时,采用线性紧凑格式存储来节省空间

list-max-ziplist-entries 512 #list数据类型多少节点以下会采用去指针的紧凑存储格式

list-max-ziplist-value 64  #list数据类型节点值大小小于多少字节会采用紧凑存储格式

set-max-intset-entries 512  #set数据类型内部数据如果全部是数值型,且包含多少节点以下会采用紧凑格式存储

activerehashing yes    #是否激活重置哈希

//多服务器快捷配置
导入并加载指定配置文件信息,用于快速创建redis公共配置较多的redis实例配置文件,便于维护
include /path/server-端口号.conf

 

 

 

 

 

 

继续阅读
weinxin
我的微信
这是我的微信扫一扫
  • 文本由 发表于 2021年2月19日23:57:22
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Redis哨兵模式部署 Redis

Redis哨兵模式部署

Redis哨兵模式部署 主机宕机 将宕机的master下线 找一个slave作为master 通知所有的slave连接新的master 启动新的master与slave 全量复制*N+部分复制*N 哨...
Redis6-redis.conf配置文件说明 Redis

Redis6-redis.conf配置文件说明

Redis6-redis.conf配置文件说明 ###NETWORK(网络)###(需记) bind 默认配置项:bind 127.0.0.1 说明:Redis服务监听地址,用于Redis客户端连接,...
Redis持久化 Redis

Redis持久化

Redis持久化   什么是持久化 利用永久性存储介质将数据进行保存,在特定的时间将保存的数据进行恢复的工作机制称为持久化   为什么要进行持久化 防止数据的意外丢失,确保数据安全...
Redis 的基本操作 Redis

Redis 的基本操作

Redis 的基本操作 作为缓存使用 原yun始业务功能设计 秒杀 618活动 春节买票 运营平台监控到的突发高频访问数据 突发时政要闻,被强势关注 高频,复杂的统计数据 在线人数   ke...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: