1、简介
1.基于内存的key-value数据库
2.基于c语言编写的,可以支持多种语言的api //set每秒11万次,取get 81000次
3.支持数据持久化
4.value可以是string,hash, list, set, sorted set
2、使用场景
1. 去最新n个数据的操作
2. 排行榜,取top n个数据 //最佳人气前10条
3. 精确的设置过期时间
4. 计数器
5. 实时系统, 反垃圾系统
6. pub, sub发布订阅构建实时消息系统
7. 构建消息队列
8. 缓存
3、安装
Windows版下载地址:https://github.com/MicrosoftArchive/redis/releases
Linux版下载地址:https://redis.io/download
演示 linux下安装
下载:
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
解压:
tar -zxvf redis-5.0.3.tar.gz
改个名字方便下面的命令通用:
mv /usr/redis-5.0.3 /usr/redis
安装gcc依赖(redis 使用c语言写的,据说只有3万行):
yum install gcc
进入解压目录编译:
make MALLOC=libc
安装并且把redis启动文件加入到/usr/local/bin目录
cd src && make install
安装成功后
usr/local/bin 下边会多几个 以redis开头的文件
4、redis 启动三种方式
(1)前端启动
前端启动的命令为(首先进入bin目录):
启动界面如下 :
前端启动的关闭:
- 强制关闭:Ctrl+c
- 正常关闭:./redis-cli shutdown
前端启动的问题:一旦客户端关闭,则redis服务也停掉。注意这样启动是用的是redis 内部的默认的配置文件(不是解压包里边的那个redis.conf,所以修改那个没用,那个只是一个配置的模板),无法更改,仅限于本机能够连接
(2)后端启动
首先需要将redis解压之后的源码包中的redis.conf文件拷贝到我们安装的bin目录下,然后使用vim修改redis.conf文件。将daemonize no改为daemonize yes
然后使用命令后端启动redis(注意这里指定了配置文件,所以redis是多实例的,即使用不同的配置文件,可以开启多个redis服务)
./redis-server redis.conf
看是否启动成功
关闭后端启动的方式为:
强制关闭:kill -9 7944
正常关闭:./redis-cli shutdown
注意:在项目中,建议使用正常关闭。因为redis作为缓存来使用的话,将数据存储到内存中,如果使用正常关闭,则会将内存数据持久化到本地之后,再关闭。如果是强制关闭,则不会进行持久化操作,可能会造成部分数据的丢失
(3)脚本启动(将redis 加入开机自启)
在redis解压目录中的utils目录下,有个redis_init_script脚本。将redis_init_script脚本拷贝到linux的/etc/init.d目录中(改下路径),将redis_init_script重命名为redis_6479
修改配置信息:
在第2行添加注释如下:
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
修改路径信息:
主要是这几行:
EXEC ,CLIEXEC修改为自己的路径,CONF指定自己的配置文件路径
授权:
chmod +x /etc/init.d/redis_6479
添加到开机自启
chkconfig redis_6479
chkconfig --add redis_6479
启动并查看:
修改配置文件设置远程连接
bind 0.0.0.0 修改为这个 port 6379 这个为redis端口 #修改这个为yes,以守护进程的方式运行,就是关闭了远程连接窗口,redis依然运行 daemonize yes #将protected-mode模式修改为no protected-mode no #设置需要密码才能访问,password修改为你自己的密码 requirepass password