Linux

来源:互联网 发布:网络侦探公司 编辑:程序博客网 时间:2024/06/11 20:16

Redis是一个key-value存储系统,和Memcached类似。然而它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。

这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。

与memcached一样,为了保证效率,数据都是缓存在内存中。

区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。


Redis 有三个主要使其有别于其它很多竞争对手的特点:

(1)Redis是完全在内存中保存数据的数据库,使用磁盘只是为了持久性目的;
(2)Redis相比许多键值数据存储系统有相对丰富的数据类型;
(3)Redis可以将数据复制到任意数量的从服务器中;


Redis优点

异常快速 :Redis是非常快的,每秒可以执行大约110000设置操作,81000个/每秒的读取操作。

支持丰富的数据类型 :Redis支持最大多数开发人员已经知道如列表,集合,可排序集合,哈希等数据类型。

这使得在应用中很容易解决的各种问题,因为我们知道哪些问题处理使用哪种数据类型更好解决。

操作都是原子的 :所有 Redis 的操作都是原子,从而确保当两个客户同时访问 Redis 服务器得到的是更新后的值(最新值)。

MultiUtility工具:Redis是一个多功能实用工具,可以在很多地方使用。

如:缓存,消息传递队列中使用(Redis原生支持发布/订阅)。
如:Web应用程序会话,网站页面点击数等任何短暂的数据;


【1】下载安装包

英文官网:https://redis.io/;
中文官网:http://redis.cn/。

  • 可以直接去官网下载 redis-4.0.1.tar.gz。
  • linux下使用wget下载。
wget http://download.redis.io/releases/redis-4.0.1.tar.gz

【2】解压安装

这里将安装包放在了/home/apk下。

解压

tar -zxvf redis-4.0.1.tar.gz

这里写图片描述


安装-make

进入解压后的目录,执行安装命令。

cd redis-4.0.1

解压后的文件目录结构如下图:

这里写图片描述


安装

make

这里写图片描述


最后一行,提示使用make test进行测试(可不用测试)。

make test

这里写图片描述

发生错误,提示You need tcl 8.5 or newer in order to run the Redis test

进入官网下载最新版本安装。

官网:http://www.linuxfromscratch.org/blfs/view/cvs/general/tcl.html

这里写图片描述

安装tcl

这里写图片描述


期间还可能发生另外一种错误:gcc 命令未找到

该种错误是由于没有安装c编译器。

使用yum进行安装:

yum install gcc-c++

尝试重新make之前,一定执行一下make distclean;否则可能在第二次make时出现Jemalloc/jemalloc.h错误。


make install

make成功后,执行make install命令。

make install

这里写图片描述


可以在/usr/local/bin下查看安装的redis。

这里写图片描述


make install命令执行完成后,会在/usr/local/bin目录下生成五个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof 和redis-check-rdb,它们的作用如下:

  • redis-server:Redis服务器的daemon启动程序(默认前端启动模式,端口是6379)
redis-server /etc/redis.conf//启动服务端
  • redis-cli:Redis命令行操作工具(客户端工具)。也可以用telnet根据其纯文本协议来操作
redis-cli -p 6379//客户端连接
  • redis-benchmark:Redis性能测试工具,测试Redis在当前系统下的读写性能

  • redis-check-aof:(aof-append only file) 修复数据备份文件aof

  • redis-check-rdb:修复数据备份文件rdb(redis database同aof(二者存在时,优先使用aof))


提前放出完全安装完成并启动server后,/usr/local/bin目录下文件结构:

这里写图片描述

其中,dump.rdb为默认的本地数据库备份文件名。


3.0版本安装后目录文件结构如下:

这里写图片描述

可以看到低级版本下安装后的目录中有redis-check-dump


【3】配置redis

  • 复制解压后的redis.conf文件到/etc/下。
-- 当前路径在解压后的文件夹下面cp redis.conf /etc/

这里写图片描述


  • 修改/etc/redis.conf

默认端口:6379。

vim /etc/redis.conf

Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程:

daemonize no ->daemonize yesesc :x(进入vim命令模式,退出保存)

这里写图片描述


  • 启动redis server
redis-server /etc/redis.conf

这里写图片描述

如上图所示,此时使用grep管道命令查看redis进程未发现。


  • 启动客户端,使用ping命令测试
redis-cli -p 6379

这里写图片描述


  • 再次查看redis进程
ps -ef|grep redis

这里写图片描述


【4】配置服务开机启动

  • 将redis-4.0.1/utils目录下的 redis_init_script 脚本拷贝到 /etc/init.d 下 修改名字为 redis
cp redis_init_script /etc/init.d/redis

  • 编辑该redis文件,头部添加注释如下:

该两行是必需的,否则在添加redis服务时,会提示redis服务不支持chkconfig

#chkconfig:2345 90 10# description:Redis is a persistent key-value database

这里写图片描述


  • 拷贝修改后的/etc/redis.conf 到/etc/redis/6379.conf
-- 在etc目录下mkdir ./rediscp /etc/redis.conf /etc/redis/6379.conf

  • 为/etc/init.d/redis文件赋予权限并添加到开机启动服务列表
chmod +x /etc/init.d/redischkconfig redis on

  • 启动/关闭服务
service redis startservice redis stop

  • reboot 重启测试开机启动
rebootps -ef|grep redis

这里写图片描述

原创粉丝点击