Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 相比于传统的关系型数据库,Redis的存储方式是key-value型的,说到key-value,我们肯定能想到JSON,但是JSON中value是不区分数据类型的,Redis支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询,能够更好的帮助我们进行数据的存储检索。
此外Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
正是由于这些特点,Redis广泛的应用于对性能和并发要求高的业务场景中,以下是常见的场景:
关于Redis的更多内容可以访问Redis的中文网站:http://www.redis.cn/
介绍完redis接下来就要开始安装,需要先下载redis,可以去官网下载通过ftp工具上传,也可以通过wget命令直接在CentOS中获取。
wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。这里用wget去获取,使用wget需要先去安装这个工具。
yum install wget -y
然后在需要下载的目录执行wget命令获取redis,这里将文件保存在/usr/local/src目录
cd /usr/local/src
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
下载完成后使用tar命令解压缩
tar -zxvf redis-5.0.5.tar.gz
执行ls可以看到解压后的目录
切换到redis解压后的目录,里面的文件可以重点看一下README.md文件,关于redis的介绍还有一些操作啊,这里我就不做展示。
然后执行make命令,在这里介绍一下make
make 是一个命令工具,它解释 Makefile 中的指令(应该说是规则)。在 Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。常用的命令有:
make all:编译程序、库、文档等(等同于make)
make install:安装已经编译好的程序。复制文件树中到文件到指定的位置
make unistall:卸载已经安装的程序。
make clean:删除由make命令产生的文件
make distclean:删除由./configure产生的文件
make check:测试刚刚编译的软件(某些程序可能不支持)
make installcheck:检查安装的库和程序(某些程序可能不支持)
make dist:重新打包成packname-version.tar.gz
提起编译由于Redis是由C编写的,这里要先安装gcc编译器
yum install gcc -y
然后执行make命令,在这里可以通过设置PREFIX的值来指定安装目录,在这里将redis安装在/usr/local/redis/目录
make install PREFIX=/usr/local/redis
等待执行完,这时redis已经被安装到了指定目录,切换后安装后的目录
执行./redis-server
,看到下面启动界面,redis已经成功安装,并且启动。
但是这样是有问题滴,如果当前窗口停止redis进程就被杀死,而且不方便于管理,接下来就把redis的管理服务化。
配置REDIS_HOME,在系统配置文件中配置环境变量,指定redis的安装目录,将以下代码配置在/etc/profile文件末尾处:
# REDIS
export REDIS_HOME=/usr/local/redis
export PATH=$PATH:$REDIS_HOME/bin
然后让系统重新解析配置文件,否则不生效,执行
source /etc/profile
cd /usr/local/src/redis-5.0.5
执行./install_server.sh,此处为了便于管理都是用redis的默认配置,redis根据端口创建实例,默认端口6379,如果想要创建多实例,可以再次执行./install_server.sh,指定不同的端口,redis会默认生成根据端口号命名的配置文件以及路径。
[root@aliyun utils]# ./install_server.sh
Welcome to the redis service installer
This script will help you easily set up a running redis server
Please select the redis port for this instance: [6379]
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf]
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log]
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379]
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/redis/bin/redis-server]
Selected config:
Port : 6379
Config file : et/etc/redis/6379.conf
Log file : /var/log/redis_6379.log
Data dir : /var/lib/redis/6379
Executable : /usr/local/redis/bin/redis-server
Cli Executable : /usr/local/redis/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
点击回车,可以看到
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!
redis默认帮将服务添加入开机启动项,将服务管理脚本命名为redis_6379,并且帮我们启动了服务,这时就可以通过执行以下命令来管理redis服务,如果指定多个端口创建实例,以此类推。
service redis_6379 status 查看端口号6379对应redis实例的运行状态
service redis_6379 stop 停止端口号6379对应redis实例服务
service redis_6379 start 启动端口号6379对应redis实例服务
如果想要通过windows版的RedisDesktopManager来连接redis还需要修改以下配置,
在执行./install_server.sh之前,先在解压后的目录中修改redis.conf配置文件,做如下更改:
bind 127.0.0.1改为#bind 127.0.0.1
daemonize no改为 daemonize yes
protected-mode yes 改为protected-mode no
如果没有更改,停止redis服务,修改配置,重新执行./install_server.sh即可。
卸载redis其实很简单,只需以下操作