Redis 即是REmote DIctionary Server(远程字典服务器)
C语言开发的一个开源高性能键值对分布式内存数据库,
支持数据持久化,支持异步将内存中数据保存在磁盘中,同时不影响服务,重启时可再次加载使用
支持的多种键值数据类型
字符串类型、列表类型、有序集合类型、散列类型、集合类型
(官方测试性能:五十个并发程序执行十万次请求,读速度11万次/秒 写8万次/秒)
Windows下安装
在官网下载zip包后解压在文件夹中,即可启动,
前端启动:cmd进入该目录下,运行redis-server.exe即可启动
后台启动,在redis根目录下修改conf配置文件,将daemonize no改为daemonize yes
Linux下安装Redis
下载源码:
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
解压源码:
tar -zxvf redis-3.2.8.tar.gz
进入到解压目录:
cd redis-3.2.8
执行make编译Redis:
make
注意:make命令执行完成编译后,会在src目录下生成6个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-rdb、redis-sentinel。
安装Redis:
make install
[root@izvluy1jk36n8jz redis]# make install
cd src && make install
make[1]: Entering directory `/usr/local/redis/src'
CC Makefile.dep
make[1]: Leaving directory `/usr/local/redis/src'
make[1]: Entering directory `/usr/local/redis/src'
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
make[1]: Leaving directory `/usr/local/redis/src'
[root@izvluy1jk36n8jz redis]# cd ..
[root@izvluy1jk36n8jz local]# ll
total 60
drwxr-xr-x 6 root root 4096 Aug 31 13:57 aegis
drwxr-xr-x. 2 root root 4096 Oct 2 22:34 bin
drwxr-xr-x 10 root root 4096 May 25 22:59 cloudmonitor
drwxr-xr-x. 2 root root 4096 Apr 11 12:59 etc
-rw-r--r-- 1 root root 3609 May 25 23:47 forum.sql
drwxr-xr-x. 2 root root 4096 Apr 11 12:59 games
drwxr-xr-x. 2 root root 4096 Apr 11 12:59 include
drwxr-xr-x. 2 root root 4096 Apr 11 12:59 lib
drwxr-xr-x. 2 root root 4096 Apr 11 12:59 lib64
drwxr-xr-x. 2 root root 4096 Apr 11 12:59 libexec
drwxrwxr-x 6 root root 4096 Aug 4 06:44 redis
drwxr-xr-x. 2 root root 4096 Apr 11 12:59 sbin
drwxr-xr-x. 6 root root 4096 Apr 11 12:59 share
drwxr-xr-x. 2 root root 4096 Apr 11 12:59 src
drwxr-xr-x 9 www www 4096 May 26 19:50 tomcat
[root@izvluy1jk36n8jz local]# ll bin
total 21872
-rwxr-xr-x 1 root root 2451208 Oct 2 22:34 redis-benchmark
-rwxr-xr-x 1 root root 5774352 Oct 2 22:34 redis-check-aof
-rwxr-xr-x 1 root root 5774352 Oct 2 22:34 redis-check-rdb
-rwxr-xr-x 1 root root 2617232 Oct 2 22:34 redis-cli
lrwxrwxrwx 1 root root 12 Oct 2 22:34 redis-sentinel -> redis-server
-rwxr-xr-x 1 root root 5774352 Oct 2 22:34 redis-server
[root@izvluy1jk36n8jz local]# redis-server
bash: redis-server: command not found
[root@izvluy1jk36n8jz local]# yum install gcc
Loaded plugins: fastestmirror
Determining fastest mirrors
base | 3.6 kB 00:00
epel | 3.2 kB 00:00
extras | 3.4 kB 00:00
mysql-connectors-community | 2.5 kB 00:00
mysql-tools-community | 2.5 kB 00:00
mysql57-community | 2.5 kB 00:02
updates | 3.4 kB 00:00
(1/8): epel/x86_64/group_gz | 88 kB 00:00
(2/8): epel/x86_64/updateinfo | 945 kB 00:00
(3/8): epel/x86_64/primary | 3.6 MB 00:00
(4/8): extras/7/x86_64/primary_db | 187 kB 00:00
(5/8): updates/7/x86_64/primary_db | 6.0 MB 00:00
(6/8): mysql-connectors-community/x86_64/primary_db | 26 kB 00:03
(7/8): mysql-tools-community/x86_64/primary_db | 45 kB 00:17
(8/8): mysql57-community/x86_64/primary_db | 152 kB 00:18
epel 12695/12695
Package gcc-4.8.5-28.el7_5.1.x86_64 already installed and latest version
Nothing to do
说明已经安装了
运行redis-server报错bash: redis-server: command not found
这是因为在系统的usr/bin目录下没有命令文件,这就要将redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-rdb、redis-sentinel这些可执行文件复制到usr/bin下
如:cp -r /usr/local/bin/. /usr/bin
配置Redis能随系统启动:
./utils/install_server.sh
Redis服务查看、开启、关闭:
a.通过ps -ef|grep redis命令查看Redis进程
b.开启Redis服务操作通过/etc/init.d/redis_6379 start命令,也可通过(service redis_6379 start)
c.关闭Redis服务操作通过/etc/init.d/redis_6379 stop命令,也可通过(service redis_6379 stop)
修改redis.config
进入到目录 cd redis-3.2.8
按i编辑redis.conf文件 vim reids.conf
将daemonize no改为daemonize yes
按esc退出编辑并输入:wq保存文件退出
redis.conf 的配置信息
1、daemonize 如果需要在后台运行,把该项改为yes
2、pidfile 配置多个pid的地址 默认在/var/run/redis.pid
3、bind 绑定ip,设置后只接受来自该ip的请求
4、port 监听端口,默认是6379
5、loglevel 分为4个等级:debug verbose notice warning
6、logfile 用于配置log文件地址
7、databases 设置数据库个数,默认使用的数据库为0
8、save 设置redis进行数据库镜像的频率。
9、rdbcompression 在进行镜像备份时,是否进行压缩
10、dbfilename 镜像备份文件的文件名
11、Dir 数据库镜像备份的文件放置路径
12、Slaveof 设置数据库为其他数据库的从数据库
13、Masterauth 主数据库连接需要的密码验证
14、Requriepass 设置 登陆时需要使用密码
15、Maxclients 限制同时使用的客户数量
16、Maxmemory 设置redis能够使用的最大内存
17、Appendonly 开启append only模式
18、Appendfsync 设置对appendonly.aof文件同步的频率(对数据进行备份的第二种方式)
19、vm-enabled 是否开启虚拟内存支持 (vm开头的参数都是配置虚拟内存的)
20、vm-swap-file 设置虚拟内存的交换文件路径
21、vm-max-memory 设置redis使用的最大物理内存大小
22、vm-page-size 设置虚拟内存的页大小
23、vm-pages 设置交换文件的总的page数量
24、vm-max-threads 设置VM IO同时使用的线程数量
25、Glueoutputbuf 把小的输出缓存存放在一起
26、hash-max-zipmap-entries 设置hash的临界值
27、Activerehashing 重新hash