memcached怎么安装和使用?(3)

时间:2016-09-26 19:45:55 

gets

返回的额外值。

注意以下使用

cas

命令的交互:

set userId 0 0 5

55555

STORED

gets userId

VALUE userId 0 5 6

55555

END

cas userId 0 0 5 6

33333

STORED

如您所见,我使用额外的整型值 6 来调用

gets

命令,并且操作运行非常顺序。现在,我们来看看清单 7 中的一系列命令:

清单 7. 使用旧版本指示符的cas命令

set userId 0 0 5

55555

STORED

gets userId

VALUE userId 0 5 8

55555

END

cas userId 0 0 5 6

33333

EXISTS

注意,我并未使用

gets

最近返回的整型值,并且

cas

命令返回 EXISTS 值以示失败。从本质上说,同时使用

gets

cas

命令可以防止您使用自上次读取后经过更新的名称/值对。

缓存管理命令

最后两个 memcached 命令用于监控和清理 memcached 实例。它们是

stats

flush_all

命令。

stats

stats

命令的功能正如其名:转储所连接的 memcached 实例的当前统计数据。在下例中,执行

stats

命令显示了关于当前 memcached 实例的信息:

stats

STAT pid 63

STAT uptime 101758

STAT time 1248643186

STAT version 1.4.11

STAT pointer_size 32

STAT rusage_user 1.177192

STAT rusage_system 2.365370

STAT curr_items 2

STAT total_items 8

STAT bytes 119

STAT curr_connections 6

STAT total_connections 7

STAT connection_structures 7

STAT cmd_get 12

STAT cmd_set 12

STAT get_hits 12

STAT get_misses 0

STAT evictions 0

STAT bytes_read 471

STAT bytes_written 535

STAT limit_maxbytes 67108864

STAT threads 4

END

此处的大多数输出都非常容易理解。稍后在讨论缓存性能时,我还将详细解释这些值的含义。至于目前,我们先来看看输出,然后再使用新的键来运行一些

set

命令,并再次运行

stats

命令,注意发生了哪些变化。

flush_all

flush_all

是最后一个要介绍的命令。这个最简单的命令仅用于清理缓存中的所有名称/值对。如果您需要将缓存重置到干净的状态,则

flush_all

能提供很大的用处。下面是一个使用

flush_all

的例子:

set userId 0 0 5

55555

STORED

get userId

VALUE userId 0 5

55555

END

flush_all

OK

get userId

END

缓存性能

在本文的最后,我将讨论如何使用高级 memcached 命令来确定缓存的性能。

stats

命令用于调优缓存的使用。需要注意的两个最重要的统计数据是 et_hits 和 get_misses。这两个值分别指示找到名称/值对的次数(get_hits)和未找到名称/值对的次数(get_misses)。

结合这些值,我们可以确定缓存的利用率如何。初次启动缓存时,可以看到 get_misses 会自然地增加,但在经过一定的使用量之后,这些 get_misses 值应该会逐渐趋于平稳 — 这表示缓存主要用于常见的读取操作。如果您看到 get_misses 继续快速增加,而 get_hits 逐渐趋于平稳,则需要确定一下所缓存的内容是什么。您可能缓存了错误的内容。

确定缓存效率的另一种方法是查看缓存的命中率(hit ratio)。缓存命中率表示执行

get

的次数与错过

get

的次数的百分比。要确定这个百分比,需要再次运行

stats

命令,如清单 8 所示:

清单 8. 计算缓存命中率

stats

STAT pid 6825

STAT uptime 540692

STAT time 1249252262

STAT version 1.2.6

STAT pointer_size 32

STAT rusage_user 0.056003

STAT rusage_system 0.180011

STAT curr_items 595

STAT total_items 961

STAT bytes 4587415

STAT curr_connections 3

STAT total_connections 22

STAT connection_structures 4

STAT cmd_get 2688

STAT cmd_set 961

STAT get_hits 1908

STAT get_misses 780

STAT evictions 0

STAT bytes_read 5770762

STAT bytes_written 7421373

STAT limit_maxbytes 536870912

STAT threads 1

END

现在,用 get_hits 的数值除以 cmd_gets。在本例中,您的命中率大约是 71%。在理想情况下,您可能希望得到更高的百分比 — 比率越高越好。查看统计数据并不时测量它们可以很好地判定缓存策略的效率。

看不过瘾?点击下面链接!
本站微信公众号:gsjx365,天天有好故事感动你!

上一页1234下一页

相关电脑知识

美图欣赏

电脑知识排行榜