1、报错Could not create server TCP listening socket 127.0.0.1:6379: bind: 操作成功完成。
2、解决方法
redis-cli.exe
shutdown
exit
redis-server.exe redis.windows.conf
3、方法1:启动临时服务
此处创建的服务是redis临时服务,
关闭窗口服务也会关闭,数据也会清空,
且不会在window Service列表出现Redis服务名称和状态
需要注意的是,临时启动服务使用一段时间会出现服务关闭的情况
此时需要做的是:管理员身份运行
启动即可
经一天使用正常运行,没有自动关闭的情况了
4、方法2:启动服务
- 进入 DOS窗口
- 在进入Redis的安装目录
- 输入:redis-server --service-install redis.windows.conf --loglevel verbose ( 安装redis服务 )
- 输入:redis-server --service-start ( 启动服务 )
- 输入:redis-server --service-stop(停止服务)
启动指定的配置文件redis-server --service-start redis.windows-service.conf
5、新打开窗口
三、登录
四、配置
1、配置数据库数量databases,默认16
2、重启服务
五、压缩版
1、Redis临时服务
打开cmd,进入到刚才解压到的目录,
启动临时服务:
redis-server.exe redis.windows.conf
(备注:通过这个命令,会创建Redis临时服务,不会在window Service列表出现Redis服务名称和状态,此窗口关闭,服务会自动关闭。)
2.打开另一个cmd窗口,客户端调用:redis-cli.exe -h 127.0.0.1 -p 6379
2、Redis自定义windows服务安装
1.进入Redis安装包目录,安装服务:redis-server.exe --service-install redis.windows.conf --service-name redisserver1 --loglevel verbose
win+r -> services.msc,可以看到服务安装成功
安装服务:redis-server.exe --service-install redis.windows.conf --service-name redisserver1 --loglevel verbose
启动服务:redis-server.exe --service-start --service-name redisserver1
停止服务:redis-server.exe --service-stop --service-name redisserver1
卸载服务:redis-server.exe --service-uninstall–service-name redisserver1
3、主从服务器
将d盘下新建一个文件夹叫redis2,把redis文件夹的东西拷贝到redis2文件夹下,将redis-windows.conf配置文件中的ip 和端口号改一下,然后按照上面的步骤按照一个服务即可
使用redis桌面管理器(下载地址:RESP.app (formerly Redis Desktop Manager) - GUI for Redis ® available on Windows, macOS, iPad and Linux. - GUI for Redis ® available on Windows, macOS, iPad and Linux.")),看到两个redis库
设置密码把 #requirepass foobared 的#号去掉改为自己的密码即可
设置好保存后,若要使设置起作用,需要重启redis服务
端口号和ip同理
重启后需要输入密码
六、Redis键值自动清理
Redis缓存作为提高系统性能最好的方式相信大家对其一定不陌生,各位秃头老码农不仅需要掌握Redis的基础用法还得了解Redis的相关原理,比如Redis过期策略和内存淘汰机制。
大家都知道,Redis缓存使用的是内存资源,虽然缓存服务器会配置比较高的内存资源,但如果对于Redis中的缓存数据我们不管不顾,内存资源总有耗尽的时候,这时缓存服务器就无法再对外提供服务了。我们要用有限的服务器资源支撑更多的业务服务,就必须要让那些访问频率不高的缓存删除掉,为新的缓存腾出内存空间。
Redis主要通过两种方式相互配合来实现键值的清理,即:过期策略和内存淘汰机制。
1、内存淘汰策略
当 Redis 节点分配的内存使用到达最大值以后,为了继续提供服务,Redis 会启动内存淘汰策略,在Redis4.0之前主要是以下六种淘汰策略:
- noeviction:不淘汰任何数据,当内存不足时,执行缓存新增操作会报错,这种策略下可以保证数据不丢失,它也是 Redis 默认的内存淘汰策略。
- allkeys-lru:淘汰整个键值中最久未使用的键值,这也就是我们常说的LRU算法。
- allkeys-random:随机淘汰任意键值。
- volatile-lru:淘汰所有设置了过期时间的键值中最久未使用的键值。
- volatile-random:随机淘汰设置了过期时间的任意键值。
- volatile-ttl:优先淘汰设置了过期时间中更早过期的键值。
通过上面的内存淘汰策略可以看出,以 allkeys- 开头的表示从所有key中进行数据淘汰,而以 volatile-开头的会从设置了过期时间的key中进行数据淘汰。
而在Redis4.0版本中又新增了2种淘汰策略:
- allkeys-lfu,淘汰整个键值中最少使用的键值,这也就是我们常说的LRU算法。
结语
小编也是很有感触,如果一直都是在中小公司,没有接触过大型的互联网架构设计的话,只靠自己看书去提升可能一辈子都很难达到高级架构师的技术和认知高度。向厉害的人去学习是最有效减少时间摸索、精力浪费的方式。
我们选择的这个行业就一直要持续的学习,又很吃青春饭。
虽然大家可能经常见到说程序员年薪几十万,但这样的人毕竟不是大部份,要么是有名校光环,要么是在阿里华为这样的大企业。年龄一大,更有可能被裁。
送给每一位想学习Java小伙伴,用来提升自己。
本文到这里就结束了,喜欢的朋友可以帮忙点赞和评论一下,感谢支持!
allkeys-lfu,淘汰整个键值中最少使用的键值,这也就是我们常说的LRU算法。
结语
小编也是很有感触,如果一直都是在中小公司,没有接触过大型的互联网架构设计的话,只靠自己看书去提升可能一辈子都很难达到高级架构师的技术和认知高度。向厉害的人去学习是最有效减少时间摸索、精力浪费的方式。
我们选择的这个行业就一直要持续的学习,又很吃青春饭。
虽然大家可能经常见到说程序员年薪几十万,但这样的人毕竟不是大部份,要么是有名校光环,要么是在阿里华为这样的大企业。年龄一大,更有可能被裁。
送给每一位想学习Java小伙伴,用来提升自己。
[外链图片转存中…(img-8JPEFkjM-1719177213417)]
本文到这里就结束了,喜欢的朋友可以帮忙点赞和评论一下,感谢支持!