php中的php memcahed库的新手。我只是想知道Memcached :: add和Memcached :: set之间的主要区别是什么?两者都具有相同的性能,使用一个优于另一个的优势是什么?
另外这些方法(:: set和:: add)是否具有某种安全性?这意味着,如果密钥在memcache中不存在则会创建它,或者如果密钥存在则替换它?我想要最小化重复键。我可以创建某种安全添加的唯一方法是先替换然后检查它是否成功,否则创建它。
答案 0 :(得分:3)
区别在于documented on Memcached::add:
如果已经定义了密钥,则Memcached :: add()与Memcached::set()类似,但如果 键 已存在,则操作失败服务器
Memcached::add()
将返回false,这意味着如果要报告重复密钥的错误,则应该使用该密钥。此外,使用Memcached::getResultCode()检查添加是否成功。
对于性能比较,它可能取决于memcached服务器的数量,库版本以及特定于您的应用程序的许多因素。最初我会说这是一个过早的优化,但如果你还想比较,最好的办法就是用你自己的设置来对它进行基准测试。
答案 1 :(得分:0)
您的问题已经回答了。请使用This Question答案中提供的示例代码。以及this帖子中的解释。还有Larry Page发明的新东西,你可以使用。我认为它叫谷歌。