Redis介绍
Redis是一个开源的(BSD开源协议),内存数据结构存储,被用于作为数据库,缓存和消息代理。
Redis支持如下数据结构:
- string(字符串)
- hashes(哈希)
- lists
- sets
- sorted sets with range query
- bitmaps
- hyperloglogs
- geospatial indexes with radius queries(具有半径查询的地理空间索引)
Redis 有不同等級的持久化,并通过redis sentinel提供高可用性,并通过redis集群自动分区。
Redis安裝
Linux下的安裝
- 下载reids
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
- 解压缩
tar xzf redis-4.0.8.tar.gz
- 转到目录
cd redis-4.0.8
- 安装
make
如果出现下面的错误需要安装C++编译器
/bin/sh: cc: 未找到命令
make[1]: *** [adlist.o] 错误 127
make[1]: 离开目录“/usr/local/redis-3.2.0/src”
make: *** [all] 错误 2
执行命令安装C++编译器
yum install gcc-c++
安装后,如果执行make仍然报错
cd src && make all
make[1]: 进入目录“/usr/local/redis-3.2.0/src”
CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
#include <jemalloc/jemalloc.h>
^
编译中断。
make[1]: *** [adlist.o] 错误 1
make[1]: 离开目录“/usr/local/redis-3.2.0/src”
make: *** [all] 错误 2
解决“jemalloc/jemalloc.h:没有那个文件或目录“问题,在进行编译(因为上次编译失败,有残留的文件)
make distclean
make && make install
运行redis:
src/redis-server
使用redis客户端:
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
安装后的后续操作
修改配置文件
redis默认处于保护模式,只能通过127.0.0.1本地连接,打开redis安装目录下的redis.conf
1)bind 127.0.0.1 修改为 bind 0.0.0.0 任何ip都可以访问
redis默认以前端模式运行,修改daemonize为yes,即修改为
2)daemonize yes
redis默认开启保护模式,修改protected-model为no,即修改为
3)protected-model no
centos7中外网无法访问的问题
centos7中防火墙默认开启,所以需要开放端口,redis默认端口为6379
添加firewall-cmd --zone=public --add-port=6379/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入firewall-cmd --reload
此时就可以连上了
Windows安装
redis项目并没有正式支持windows。
微软的开放技术组开发和维护这个针对win64的windows端口。
这里就不说明了