前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >001.Redis简介及安装

001.Redis简介及安装

作者头像
木二
发布2019-07-26 14:16:14
3090
发布2019-07-26 14:16:14
举报
文章被收录于专栏:木二天空木二天空

一 Redis简介

1.1 Redis 简介

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis 与其他 key-value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

1.2 Redis 优势

性能极高:Redis能读的速度是110000次/s,写的速度是81000次/s 。

丰富的数据类型: Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。

原子特性:Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。

丰富的特性: Redis还支持 publish/subscribe, 通知, key 过期等等特性。

1.3 Redis与其他key-value存储差异化

Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。

Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

引用官方:http://www.redis.net.cn/tutorial/3502.html

二 Redis安装

2.1 Linux编译安装

代码语言:javascript
复制
  1 [root@redis ~]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz
  2 [root@redis ~]# tar -zxvf redis-5.0.3.tar.gz
  3 [root@redis ~]# cd redis-5.0.3/
  4 [root@redis redis-5.0.3]# make
  5 [root@redis redis-5.0.3]# cd src/
  6 [root@redis src]# make install PREFIX=/usr/local/redis

三 Redis优化

3.2 Redis前台启停

代码语言:javascript
复制
  1 [root@redis ~]# cd /usr/local/redis/bin/
  2 [root@redis bin]# ./redis-server					#前台启动方式
  3 ctrl+c								#强制停止redis
  4 [root@redis bin]# ./redis-cli shutdown				#正常停止redis

提示:正常停止redis需要在运行窗口之外另开一个终端窗口。

3.3 Redis后台启停

代码语言:javascript
复制
  1 [root@redis ~]# mkdir /usr/local/redis/etc
  2 [root@redis ~]# cp /root/redis-5.0.3/redis.conf /usr/local/redis/etc/	#复制配置文件
  3 [root@redis ~]# vim /usr/local/redis/etc/redis.conf			        #将启动方式改为后台
  4 daemonize yes
  5 [root@redis ~]# cd /usr/local/redis/bin/
  6 [root@redis bin]# ./redis-server /usr/local/redis/etc/redis.conf	        #指定配置并后台启动
  7 [root@redis bin]# ps -ef | grep redis
  8 [root@redis bin]# kill -9 21511						#强制停止Redis
  9 [root@redis bin]# ./redis-cli shutdown					#正常停止redis
01
01

3.4 设置开机启动

代码语言:javascript
复制
  1 [root@redis ~]# cp /root/redis-5.0.3/utils/redis_init_script /etc/init.d/redisd
  2 [root@redis ~]# vi /etc/init.d/redisd
  3 #!/bin/sh
  4 # chkconfig:   2345 90 10
  5 # description:  Redis is a persistent key-value database		#添加此两行
  6 ……
  7 REDISPORT=6379
  8 EXEC=/usr/local/redis/bin/redis-server				#修改为正确的路径
  9 CLIEXEC=/usr/local/redis/bin/redis-cli				#修改为正确的路径
 10 ……
 11 CONF="/usr/local/redis/etc/redis.conf"				#修改为正确配置文件
 12 [root@redis ~]# chkconfig redisd on					#开机启动
 13 [root@redis ~]# service redisd start				#启动Redis
 14 [root@redis ~]# service redisd stop					#停止Redis

3.5 其他优化

代码语言:javascript
复制
  1 [root@redis ~]# vi /etc/profile.d/redis.sh
  2 export REDIS_HOME=/usr/local/redis/
  3 export REDIS_BIN=$REDIS_HOME/bin/
  4 export PATH=$REDIS_BIN:$PATH
  5 [root@redis ~]# source /etc/profile

四 确认验证

代码语言:javascript
复制
  1 [root@redis ~]# netstat -tlunp					#查看端口
  2 Proto    Recv-Q Send-Q Local Address       Foreign Address State    PID/Program name
  3 tcp      0      0      127.0.0.1:6379      0.0.0.0:*       LISTEN   21367/./redis-serve
  4 [root@redis ~]# redis-cli						#客户端连接
  5 127.0.0.1:6379> exit

五 Redis配置文件解析

5.1 配置项

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

参考文档:https://www.cnblogs.com/wangchunniu1314/p/6339416.html

https://www.cnblogs.com/zuidongfeng/p/8032505.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-01-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 Redis简介
    • 1.1 Redis 简介
      • 1.2 Redis 优势
      • 二 Redis安装
        • 2.1 Linux编译安装
        • 三 Redis优化
          • 3.2 Redis前台启停
            • 3.3 Redis后台启停
              • 3.4 设置开机启动
                • 3.5 其他优化
                • 四 确认验证
                • 五 Redis配置文件解析
                  • 5.1 配置项
                  相关产品与服务
                  云数据库 Redis
                  腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档