最近测试服务端的时候,接触到了redis,之前也看过,但不系统,借着这次实践,记录一下。
一、写在前面
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

使用场景和优势简单概述:
1.redis是目前业界非常受到欢迎的一个内存数据库,一般用作系统的中间缓存系统,用以提升整体商业系统的吞吐量和响应速度;
2.redis支持从内存中实现数据的读写,所以速度非常快;
3.redis支持数据持久化,redis将数据存储在硬盘中,即使断电了,redis依然可以将数据重新加载到内存中。
二、安装redis
windows、linux系统下安装redis的详细教程可以见此链接:
下载完之后,进行解压、安装:
解压命令:tar -zxvf redis-3.2.11.tar.gz
解压得到一个【redis-3.2.11】文件夹,进入到此文件夹内;
Linux系统安装步骤:
1.输入指令:make,进行编译,编译完成之后,会看到:

然后cd到src目录
2.执行make install,进行安装
make install PREFIX=/usr/local/redis #安装到指定目录中如果make失败,一般是你们系统中还未安装gcc或者tcl(根据具体的报错信息安装),那么可以通过yum安装:
yum install gcc/tcl安装完成后,继续执行make
在安装redis成功后,可以在/usr/local/redis看到一个bin的目录,里面包括了以下文件:
redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server测试安装是否成功
[root@docker redis-3.2.11]# make test
只截取最后的结果:
\o/ All tests passed without errors!
Cleanup: may take some time... OK
配置redis.conf:
[root@docker redis-3.2.11]# vi /usr/local/src/redis-3.2.11/redis.conf
我这里修改3个地方
A. daemonize no 改成 daemonize yes (将redis修改为后台启动进程,防止redis启动后一直停留在redis界面)
B. logfile "" 改成 logfile "./redis.log"(redis日志文件,在redis.conf同级目录下)
C. bind 127.0.0.1 (只能本机访问) 改为 bind 0.0.0.0 (非本机亦可访问(或者可以绑定指定IP))
启动redis:
[root@docker ~]# redis-server /usr/local/src/redis-3.2.11/redis.conf
这里加载刚才修改的默认的redis配置文件redis.conf
查看是否启动成功:
[root@docker ~]# ps -ef | grep redis
root 30284 1 0 16:48 ? 00:00:00 redis-server 127.0.0.1:6379
root 30289 25916 0 16:48 pts/0 00:00:00 grep redis
测试redis:
[root@docker ~]# redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
127.0.0.1:6379> exit
关闭redis:
[root@docker redis-3.2.11]# redis-cli shutdown
redis安全模式访问:
测试程序报错为:
DENIED Redis is running protected mode because protected mode is enabled,
no bind address was specified, no authentication password is requested to clients.
In this mode connections are only accepted from the loopback interface.
需要给redis配置密码
启动redis客户端
执行 redis-cli指令
然后执行
