Can two keys point to the same data in memcache(两个键是否可以指向Memcache中的相同数据)
本文介绍了两个键是否可以指向Memcache中的相同数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用的是PHP和Memcache。我希望多个密钥指向相同的数据。
$datawallright = $memcache->get('wads'.$wall->getIdwall());
这就是我检索数据的方式。如果没有数据,我会执行一些MySQL查询,这需要时间。大多数时候,关键是指向唯一的数据。问题是,有时我希望更多的键指向相同的数据。
$memcache->set('wads'.$wall->getIdwall(), $datawallright, false, 3600) or die ("Failed to save data at the server");
如果我这样做,它会将数据保存在Memcache中,这对于唯一值来说是可以的,但在另一种情况下,它会多次存储数据,这是对缓存中空间的浪费。
因此,我主要希望wads1和wads2指向内存缓存中的相同数据。
推荐答案
否,没有本机方法使Memcached在键之间共享对象。
如果您确实需要实现这样的事情,那么您可以自己实现这样的变通方法。例如,假设键hello
映射到对象world
。
您可以这样做,以便在您的代码库中,任何具有for值{'alias': N}
的键都将使您的代码执行键N的Memcached查找。因此,在本例中,您只需按如下方式存储数据:
hello
->world
hello2
->{'alias': 'hello'}
hello3
->{'alias': 'hello'}
这可能是您的代码中不好的模式;如果您首先只引用指向您想要的数据的键,它会更干净、更易于维护(而且每次都会保存一个额外的Memcached命中)。
这篇关于两个键是否可以指向Memcache中的相同数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:两个键是否可以指向Memcache中的相同数据
基础教程推荐
猜你喜欢
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01