1)只需禁用保护模式,即可通过从同一主机连接到Redis,从回送接口发送命令“CONFIG SET protected-mode no”正在运行,但是如果您这样做,请勿使用互联网公开访问互联网。使用CONFIG REWRITE使此更改永久。
2)或者,您可以通过编辑Redis配置文件并将protected mode选项设置为“no”来禁用保护模式,然后重新启动服务器。
3)如果您只是为了测试而手动启动服务器,请使用“ --protected-mode no”选项重新启动服务器。
4)设置绑定地址或认证密码。
这是redis4.0版本的新特性,redis3不会报错。
在这里我选择设置redis密码,同样打开redis.conf配置文件,设置密码为123456,保存退出
然后启动服务器
之后你要想在Linux里用命令打开redis客户端,需要输入一些参数
很显然,-h是redis服务绑定的主机ip,-p是redis服务的端口号,-a是redis服务的密码,都可以在redis.conf里更改的
然后就好了
这个时候,Java代码中的问题还没解决完,运行还会报错的,没有访问权限
redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required.
你还需要在Java代码中增加一条密码设置
public static void main(String[] args) { // 虚拟机的设置的ip,,redis默认端口号 Jedis jedis = new Jedis("192.168.133.128", 6379); // redis访问密码 jedis.auth("123456"); jedis.set("key01", "zhangsan"); jedis.set("key02", "lisi"); System.out.println(jedis.get("key01")); }
OK,运行正常
分享一个redis详细学习教程的网址:
redis.conf 配置项说明如下:
1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程,可以后台启动,用ps -ef | grep redis查看redis进程
daemonize no
2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /var/run/redis.pid
3. 指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字
port 6379
4. 绑定的主机地址
bind 127.0.0.1
5.当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
timeout 300
6. 指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
loglevel verbose
7. 日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null
logfile stdout
8. 设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id
databases 16
9. 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
save <seconds> <changes>
Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000
分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。
10. 指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大
rdbcompression yes
11. 指定本地数据库文件名,默认值为dump.rdb
dbfilename dump.rdb
12. 指定本地数据库存放目录
dir ./
13. 设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
slaveof <masterip> <masterport>
14. 当master服务设置了密码保护时,slav服务连接master的密码
masterauth <master-password>
15. 设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH <password>命令提供密码,默认关闭
requirepass foobared