redis

下载和编译

wget http://download.redis.io/releases/redis-4.0.2.tar.gztar xzf redis-4.0.2.tar.gzcd redis-4.0.2make

启动服务

后台启动redis

cd redis-4.0.2/src/redis-server &

查询redis进程

ps -ef | grep redis

可以看到redis已经启动了

root     19141 19065  0 12:50 pts/1    00:00:03 ./src/redis-server 0.0.0.0:6379root     19238 19196  0 14:00 pts/0    00:00:00 grep --color=auto redis

结束进程

kill -9 pid

初步测试

启动redis客户端

cd redis-4.0.2/src/redis-cli127.0.0.1:6379> set test 1OK127.0.0.1:6379> get test"1"

redis安装成功了。

配置服务器远程连接

默认配置只能是本地访问,我们修改redis-4.0.2/redis.conf配置文件

bind 127.0.0.1

修改为

bind 0.0.0.0 

防火墙

你需要添加安全组规则,打开服务器防火墙上的6379端口。

设置远程连接密码

默认配置开启了保护模式

protected-mode yes

这时你需要设置密码才可以远程连接上redis,密码设置非常简单,只需要在requirepass字段上填写你的密码即可

requirepass 你的密码

配置完毕,后台启动你的redis可以了。

./redis-server /etc/redis/redis.conf

node客户端连接

我用的是npm上的redis包,此时根据前面你的配置就可以远程连接服务器上的redis了。结合开发文档,就可以进行实际开发了。

const redis = require('redis');const config = require('../config');const logger = require('log4js').getLogger('app');class RedisClient {  constructor() {    if (!RedisClient.instance) {      this.client = redis.createClient({        host: config.redis.host,        port: config.redis.port,        password: config.redis.password,      });      const client = this.client;      RedisClient.instance = client;        client.on("error", (err) => {        logger.error('redis connect err: %s', err.toString());      });            client.on("connect", () => {        logger.info('redis connect success');      });    }  }}module.exports = new RedisClient().client;