ubuntu 安转redis
一 ,redis 安装配置
在 Ubuntu 系统安装 Redis 可以使用以下命令:
sudo apt-get update
sudo apt-get install redis-server
这样安装好的 redis.conf 在 /etc/redis/redis.conf
启动 Redis
方法1,redis-server 直接启动 如果关闭窗口服务也就停了。
方法2,redis-server /etc/redis/redis.conf 加载指定的配置文件启动,
在配置文件中有 daemonize yes
所以“方法2”就是后台启动,关闭窗口服务还在。
查看redis 服务是否启动 : sudo lsof -i:6379
![](https://img2018.cnblogs.com/blog/832256/201809/832256-20180926163748074-1428568013.png)
说明服务已经启动
查看redis 版本 : sudo redis-server --version
链接redis 客户端:
sudo redis-cli
![](https://img2018.cnblogs.com/blog/832256/201809/832256-20180926163832699-1069045690.png)
已经连接上redis了。
通过 java 连接redis
maven 项目中 pom.xml中添加
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
引入相应 jar包
redis 默认端口是 6379 ,我的redis服务所在IP 是 10.12.1.147
测试是否能连上
public class RedisTest { public static void main(String[] args) { Jedis jedis = new Jedis("10.12.1.147"); System.out.println("服务正在运行:" + jedis.ping()); jedis.close(); } }
如果连接正常 :
![](https://img2018.cnblogs.com/blog/832256/201809/832256-20180926164246970-1489743220.png)
如果出现
Connection refused: connect
解决办法
1,确保服务正常启动 lsof -i :6379
2,检查redis 配置文件redis.conf
![](https://img2018.cnblogs.com/blog/832256/201809/832256-20180926164351040-542065622.png)
这个参数默认值是 bind 12.0.0.1 ---->绑定本地ip
修改为 0.0.0.0 ----->所有ip
修改后然后 重启服务 service redis restart
二 ,redis 设置密码
你会发现 我们链接的时候都是不用设置密码的。
打开 /etc/redis/redis.conf 文件
找到 requirepass
![](https://img2018.cnblogs.com/blog/832256/201809/832256-20180926164722658-303192477.png)
#requirepass foobared。设置密码的方法就是去掉注释的#,把foobared替换成自己的密码即可,
![](https://img2018.cnblogs.com/blog/832256/201809/832256-20180926165625643-440469891.png)
修改完成后重启redis。 sudo service redis restart
再次通过redis客户端redis-cli登录并操作可以发现会报一个身份认证错误:
![](https://img2018.cnblogs.com/blog/832256/201809/832256-20180926164811505-1509684652.png)
这就说明我们已经成功的设置了密码,所以通过客户端连接的话必须加上密码参数才能正常连接:
![](https://img2018.cnblogs.com/blog/832256/201809/832256-20180926164912056-718889698.png)
加了-a参数之后即可正常连接并操作redis。 -a 之后就是刚才我们设置的密码
java 链接redis
public class RedisTest { public static void main(String[] args) { Jedis jedis = new Jedis("10.12.1.147"); System.out.println("服务正在运行:" + jedis.ping()); //配置的密码 jedis.auth("123456"); jedis.close(); } }