redis的淘汰策略是什么?redis如何连接命令?

阳光 2022-07-05 16:27:42 java常见问答 7249

Redis缓存使用内存来保存数据,不过内存的大小肯定是有限的,如果缓存的数据量变多这时候就需要缓存的淘汰策略了,那redis的淘汰策略是什么?下面来我们就来给大家讲解一下。

redis的淘汰策略是什么?redis如何连接命令?.jpg

1.noeviction(默认策略):对于写请求不再提供服务,直接返回错误(DEL请求和部分特殊请求除外);

2.allkeys-lru:从所有key中使用LRU算法进行淘汰(LRU算法:即最近最少使用算法);

3.volatile-lru:从设置了过期时间的key中使用LRU算法进行淘汰;

4.allkeys-random:从所有key中随机淘汰数据;

5.volatile-random:从设置了过期时间的key中随机淘汰;

6.volatile-ttl:在设置了过期时间的key中,淘汰过期时间剩余最短的;

当使用volatile-lru、volatile-random、volatile-ttl这三种策略时,如果没有key可以被淘汰,则和noeviction一样返回错误;

redis如何连接命令?

我们知道,只有当客户端与服务器正常连接后才能够实现彼此的交互、通信。Redis 通过“Redis序列化协议”(简称“RESP”),实现客户端与服务端之间的连接通信,该协议主要包括两个部分:网络模型和序列化协议。

1.网络模型主要负责数据交互的组织方式;

2.序列化协议则实现了数据的序列化;

由此可知,客户端与服务端交互的数据是以序列后的协议数据进行传输的。

下面是一个简单的请求/响应示意图,如下所示:

redis的淘汰策略是什么?redis如何连接命令?.gif

连接命令应用

1) 建立连接

在确认 Redis 已经成功配置之后,(可参考《Windows下载安装 Redis》)开启一个客户端与服务器的连接,执行以下命令:

C:\Users\Administrator>redis-cli
127.0.0.1:6379>

2) 验证连接

下面看一组实例演示:

#通过配置文件或者或者config命令配置客户端连接密码
redis 127.0.0.1:6379> CONFIG SET requirepass 123456
OK
#验证给定的密码和配置文件密码是否一致
redis 127.0.0.1:6379> AUTH 123456
OK
#检测客户端与服务器是否连接正常
redis 127.0.0.1:6379> PING
PONG
#切换到2库
127.0.0.1:6379> SELECT 2
OK
127.0.0.1:6379[2]> ECHO "hello www.biancheng.net"
"hello www.biancheng.net"
#中断连接
127.0.0.1:6379> QUIT
C:\Users\Administrator>

上述示例,通过AUTH命令验证密码,从而证明了客户端已经连接到了 Redis 服务,然后我们使用 PING 命令来检测服务器运行是否正常。

这样就完成了Redis 连接命令的操作,其实Redis 连接命令是主要用于验证 Redis 服务器的连接状态的,所以当Redis 连接有问题,我们可以进行以上操作!最后大家如果想要了解更多java架构师知识,敬请关注奇Q工具网。

推荐阅读:

ajax如何取消异步?ajax有哪些功能点?

怎么在java的文本输出中换行?java如何提取字符串?

java如何写一个加法算式?Java开发要注意什么?