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

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

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

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

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

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

1、在CentOS安装Redis

redis安装过程,其官网有说明:https://redis.io/download

我服务器是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。为了使用方便,我们编译完成之后,还需要安装对应的命令。执行如下命令:

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是服务安装的脚本。打开并修改如下参数:

 #服务端所处位置,需要修改
EXEC=/usr/local/bin/redis-server #客户端位置,需要修改
CLIEXEC=/usr/local/bin/redis-cli #配置文件位置,需要修改
CONF="/etc/redis/redis.conf"

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

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

cp redis_init_script /etc/init.d/redisd

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

 #设置为开机自启动服务器
chkconfig redisd on #打开服务
service redisd start #关闭服务
service redisd stop

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

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

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

redis-server redis.conf

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

redis-cli

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

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

 #写入数据
set s #获取数据
get s #列举全部key
keys * #删除数据
del s

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

redis-cli shutdown

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

例如,启动脚本:

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

停止脚本:

 #!/bin/bash
redis-cli shutdown

重启脚本:

 #!/bin/bash
redis-cli shutdown
redis-server /root/redis-3.2.8/redis.conf

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

2、在Windows安装redis

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

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

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

打开https://github.com/MSOpenTech/redis/releases下载msi安装包。

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

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

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

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

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

 redis-cli shutdown

再执行redis-server即可。

Redis在CentOS和Windows安装过程的更多相关文章

  1. CentOS 6.9安装过程

    下载: https://wiki.centos.org/Download 安装过程: 分区方案一: 以下为大概的分区步骤,根据实际需要进行分配: 最终分区的配置大小如下所示: 推荐更详细的分区方案,参 ...

  2. redis centos 6.5 redis版本3.2.8安装过程

    redis作为非关系数据库的典型应用,在庞大的数据通信处理有着自己强大的优势,今天也自己来开始学些redis. 以下每一个语句都是我执行的命令. 按照所查资料分析,需要tcl测试工具,这个在cento ...

  3. Testlink在CentOS、windows安装

    有幸在CentOS\windows上都安装过Teslink程序,总结一下.如下: 一.CentOS安装: 1.安装包需要: xampp xampp-linux-x64-5.6.3-0-installe ...

  4. CentOS 6.3 安装过程

    1.放入光盘 2.安装欢迎界面 进入安装欢迎界面,有四个选项: 1.“Install or upgrade an existing system”:安装或升级现有系统 2. “Install syst ...

  5. centos上如何安装redis?|centos傻瓜式安装redis教程

    本文介绍centos安装redis,请不要安装2.4.3,是有问题的. 首先安装gcc yum -y install gcc yum -y install gcc-c++ yum install ma ...

  6. redis 在centos下的安装部署

    安装的redis版本是 redis-3.0.2 请严格按照以下步骤进行 可以免除以下错误 1 make[2]: cc: Command not found 异常原因:没有安装gcc 解决方案:yum ...

  7. Centos 下 mysql 安装过程

    1. 检查系统自带的Mysql,并卸载自带的版本 [root@iZ2366ycl7sZ config]# yum list installed |grep mysql mysql.x86_64 5.1 ...

  8. Redis在centos上面的安装

    一.安装redis 第一步:下载redis安装包 wget http://download.redis.io/releases/redis-4.0.6.tar.gz [root@iZwz991stxd ...

  9. 安装centos 7 体验安装过程

    1. 下载centos7的iso文件,放入虚拟机的启动光盘中 2. 选择启动,然后可以看到安装的选项 3. 进行安装之后,会自动的进行一个检查 4. 选择安装的语言 5. 进入之后,可以看到所有需要安 ...

随机推荐

  1. Vim简明学习

    前面的话 在linux云服务器上的编辑器默认是vim,类似于windows系统中的记事本,页面简洁,但入门不易.本文将介绍Vim的基础使用 操作模式 vim编辑器有三种模式: 1.命令模式(等待用户输 ...

  2. MyBatis:二级缓存原理分析

    MyBatis从入门到放弃七:二级缓存原理分析 前言 说起mybatis的一级缓存和二级缓存我特意问了几个身边的朋友他们平时会不会用,结果没有一个人平时业务场景中用. 好吧,那我暂且用来学习源码吧.一 ...

  3. DRF初识与序列化

    一.Django的序列化方法 1.为什么要用序列化组件 做前后端分离的项目,我们前后端数据交互一般都选择JSON,JSON是一个轻量级的数据交互格式.那么我们给前端数据的时候都要转成json格式,那就 ...

  4. AVL树探秘

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev) ,专注于干货分享,号内有 10T 书籍和视频资源,后台回复 「1024」 即可领取,欢迎大家关注,二维码文末可以扫. 一.AV ...

  5. RBAC权限管理系统

    RBAC--基于角色的权限管理系统 优势: 1. 简化了用户和权限的关系 2. 易扩展,易于维护 3. RBAC不用给用户单个分配权限,只用指向对应的角色就会有对应的权限,而且分配权限和收回权限都很方 ...

  6. nuxt.js实战之移动端rem

    nuxt.js的项目由于是服务端渲染,通过js动态调整不同尺寸设备的根字体这种rem方案存在一种缺陷.由于设置字体的代码不能做服务端渲染,导致服务端返回的代码一开始没有相应的跟字体,直到与前端代码进行 ...

  7. python 爬虫之beautifulsoup(bs4)环境准备

    环境准备: bs4安装方法:https://blog.csdn.net/Bibabu135766/article/details/81662981 requests安装方法:https://blog. ...

  8. host-only局域网络

    在网桥配置的情况下设置: 网桥配置链接 配置前: 配置后: vi /etc/sysconfig/network-scripts/ifcfg-eth0 这里是使用static静态配置,具体网络配置及声明 ...

  9. 微服务之服务中心—Eureka

    Eureka 简介Eureka 是 Spring Cloud Netflix 的一个子模块,也是核心模块之一,用于云端服务发现,是一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故 ...

  10. 巧用border制作箭头

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...