Memecache密钥的同步

时间:2012-02-01 15:44:58

标签: memcached synchronized

我正在使用PHP实现一个Web服务器,它使用memcache来存储一些频繁访问的数据。每个请求都可以更新内存缓存中的一个密钥。关键是一个数组,我的更新将添加/删除数组中的一些元素。

我的问题是,是否有多个请求到达并同时更新密钥。 memcache是​​否提供任何类型的同步机制。

我在谷歌和这里搜索,但没有找到太多有用的信息。

最佳, 小莫

1 个答案:

答案 0 :(得分:0)

您需要使用cas值才能执行此操作。这种方式的工作方式是从服务器请求密钥的cas编号。然后,您更新该键的值并设置包含cas编号的值。然后,如果cas未更改,服务器将仅更新密钥。如果有,那么你知道其他人在你做之前已经更新了数据,你可以再次获取值和cas for key并重试更新。

*注意:我在这里说你做了一套并包含了卡号。如果查看发送的二进制数据包,这是正确的,但在大多数sdk和ASCII协议中都有单独的cas函数/命令。在进行更新时,您希望使用这些而不是设置函数/操作。

要在ASCII协议中执行cas,请参阅此处: http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt

相关问题