我正在使用redis-cli测试Redis客户端缓存。
Redis服务器版本:7.0.11
redis-cli版本:7.0.11
redis-cli 1我使用monitor命令启动:
redis-cli monitor
在redis-cli 2中运行以下代码段:
HELLO: 3
CLIENT TRACKING ON PREFIX test: BCAST NOLOOP;
SET test:1 "a"
GET test:1
GET test:1
在redis-cli 1(monitor)中显示了每个get命令。
1687010819.444931 [0 127.0.0.1:56346] "CLIENT" "TRACKING" "ON" "PREFIX" "test:" "BCAST" "NOLOOP"
1687010843.136642 [0 127.0.0.1:56346] "SET" "test:1" "a"
1687010854.656921 [0 127.0.0.1:56346] "GET" "test:1"
1687010856.557103 [0 127.0.0.1:56346] "GET" "test:1"
我没想到会在监视器上看到第二个GET命令,据我理解,第二个get不应该调用服务器,应该从redis-cli本地缓存获取数据。
我需要以某种方式实现缓存吗?redi-cli没有实现它吗?Ruby的Redis客户端(redis-5.0.6)具有相同的行为,有或没有hiredis(hiredis-client-0.14.1)
1条答案
按热度按时间oknwwptz1#
是的,你需要在客户端实现本地缓存部分。通常,客户端库应该实现它。
但是,AFAIK,
redis-cli
和hiredis
都不实现此功能。