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 - if 语句中的倒序 2021-01-01
- 使用 GD 和 libjpeg 支持编译 PHP 2022-01-01
- 如何使用 Google API 在团队云端硬盘中创建文件夹? 2022-01-01
- PHP foreach() 与数组中的数组? 2022-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
- 如何从数据库中获取数据以在 laravel 中查看页面? 2022-01-01
- 如何在 Symfony2 中正确使用 webSockets 2021-01-01
- Laravel 5:Model.php 中的 MassAssignmentException 2021-01-01
- 覆盖 Magento 社区模块控制器的问题 2022-01-01
- openssl_digest vs hash vs hash_hmac?盐与盐的区别HMAC? 2022-01-01