博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis在CentOS和Windows安装过程
阅读量:6820 次
发布时间:2019-06-26

本文共 2836 字,大约阅读时间需要 9 分钟。

redis是一种key-value高效的内存数据库。

key-value是什么?json懂吧?字典懂吧?这些都是key-value结构的数据,每个key对应1个value。

那这个数据库和我们网站在使用的数据库有什么区别?我网站既然已经有数据库,为什么还要用其他数据库?

redis是内存数据库,则数据读写和存储都在内存中。该操作不用写入硬盘,读写效率很高。

我们可用它作为服务器缓存,对经常读写或不经常更新的数据预先读到内存中。使用该数据时,直接从内存中读取。也可以每隔一段时间再将内存中的数据写入到硬盘。减少与硬盘读写数据的操作,效率自然可以大大提高。

我网站有个阅读排行榜,每次打开页面都需要从数据库中统计获取。效率稍慢,所以我寻思使用redis。

 

1、在CentOS安装Redis

redis安装过程,其官网有说明:

我服务器是CentOS Linux系统,根据官网指导。如下执行shell命令:

  1. wget http://download.redis.io/releases/redis-3.2.8.tar.gz
  2. tar xzf redis-3.2.8.tar.gz
  3. cd redis-3.2.8
  4. make

第1句是下载redis;第2句是解压;第3句是进入解压的目录;第4句是编译。

若在编译过程中发生gcc或tcl等错误,多半缺少gcc和tcl,安装它们即可。

 

编译完成之后,在redis解压目录中,多了src目录。执行如下命令进入该目录:

  1. cd src
  2. ls

ls命令是显示文件列表,如下文件:

 

你可以先测试看是否可以打开redis:

  1. ./redis-server

若出现如下界面,则运行没问题。

 

我们使用redis数据库需要开启redis-server。为了使用方便,我们编译完成之后,还需要安装对应的命令。执行如下命令:

 1 make install 

执行该命令需要root权限。若没有root权限则无法执行。

如果服务器没有root权限。手工将必要的文件复制到用户的bin目录:

  1. cp redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server ~/bin

这里复制了src目录下6个文件,对应6个命令。分别作用如下:

redis-benchmark   压力测试工具

redis-check-aof     检查redis持久化命令文件的完整性

redis-check-rdb     检查redis持久化数据文件的完整性

redis-cli                  redis客户端

redis-sentinel         redis-sentinel是集群管理工具,主要负责主从切换。

redis-server            redis服务器的daemon启动程序

 

另外,既然是服务器,作为生产环境总不能手动打开redis-server。这里有两种方法,也是针对可否拿到root权限。

1)可以拿到root权限的话,就将redis注册成服务。

redis解压目录中,utils文件夹的redis_init_script是服务安装的脚本。打开并修改如下参数:

1 #服务端所处位置,需要修改2 EXEC=/usr/local/bin/redis-server3  4 #客户端位置,需要修改5 CLIEXEC=/usr/local/bin/redis-cli6  7 #配置文件位置,需要修改8 CONF="/etc/redis/redis.conf"

 

分别修改这3个参数指定具体位置。EXEC、CLIEXEC配置文件一般不需要修改,可直接使用,CONF的redis.conf路径需要重新配置一下。

修改保存之后,复制该文件到/etc/init.d目录下:

 1 cp redis_init_script /etc/init.d/redisd 

可通过如下3个命令控制该服务:

1 #设置为开机自启动服务器2 chkconfig redisd on3  4 #打开服务5 service redisd start6  7 #关闭服务8 service redisd stop

2)没有root权限,让redis-server后台运行

该方法也比较简单。打开redis.conf配置文件,找到daemonize参数将其设置为yes。该参数是让redis-server后台运行。

再使用redis-server 打开并使用该配置文件:

 1 redis-server redis.conf 

执行之后,可以进入redis客户端查看redis-server是否开启:

 1 redis-cli 

若没有显示not connect等字样,显示IP地址加端口则已经开启。

可以输入如下命令测试redis:

1 #写入数据 2 set s 123 3   4 #获取数据 5 get s 6   7 #列举全部key 8 keys * 9  10 #删除数据11 del s

关闭redis-server后台运行,可用redis-cli的命令:

 1 redis-cli shutdown 

为了方便管理,可以将redis开启和关闭写成脚本。

例如,启动脚本:

1 #!/bin/bash 2 redis-server /root/redis-3.2.8/redis.conf

停止脚本:

1 #!/bin/bash 2 redis-cli shutdown

重启脚本:

1 #!/bin/bash2 redis-cli shutdown3 redis-server /root/redis-3.2.8/redis.conf

具体的redis.conf自己指定即可,而且还需要给这些脚本执行权限。

2、在Windows安装redis

Redis不支持Windows!在它官网写得很清楚。

问题,我开发环境有时是Windows系统。为了方便开发和调试,需要在Windows中安装Redis。

微软自己弄了Redis的Windows版本。

打开下载msi安装包。

该版本是64位。32位版本自行找一下。

安装msi过程中,有个选项是否加入系统环境变量,记得勾上。

一路下一步,安装。完成之后打开cmd,输入redis-server命令查看是否可以使用。不可以则重启一下即可。

直接输入redis-server命令使用的配置文件是安装目录下的redis.windows.conf文件。

若提示错误 “ConnectionError: Error 10061 connecting to None:6379”,可以如下操作,打开cmd输入如下命令:

1 redis-cli shutdown

再执行redis-server即可。

转载于:https://www.cnblogs.com/dengshihuang/p/8258153.html

你可能感兴趣的文章
quick-cocos2d-x游戏开发【6】——制作您自己的自定义效果button菜单
查看>>
JSON.parse()和JSON.stringify()
查看>>
android中的返回键与Activity
查看>>
站点分析基础概念网页浏览数
查看>>
蛇形填数之斜着排
查看>>
ASI简单实现网络编程
查看>>
LeetCode - Flatten Binary Tree to Linked List
查看>>
欧几里得(模板)
查看>>
docker学习(2) mac中docker-machine使用vmware fusion以及配置国内镜像加速
查看>>
UVALive 3989 Ladies' Choice
查看>>
前台js分页,自己手写逻辑
查看>>
重新启动linux上的tomcat
查看>>
基于UDP协议的多路广播地址
查看>>
如何在windows2008/2012上安装启明星系统。
查看>>
过河问题(牛虎过河、商人仆人过河、农夫妖怪过河、传教士野人过河)(内测第2届第2题)...
查看>>
IE6中让png的icon图标也透明的完整代码段
查看>>
***微信LBS地理位置开发+百度地图API(地理位置和坐标转换)
查看>>
如何获得WPA握手包&EWSA破解WPA密码教程[zz]
查看>>
CountDownTimer,0,0
查看>>
mac 终端 常用命令
查看>>