PHP中的基本Memcached实现
我理解Memcache的概念,但我有一个疑问 让我们说: 我有一个包含三列的“用户”表: 用户ID 用户名 和密码 假设查询是$query=“select*from users”。查询第一次被执行并作为md5($query)->result存储在memcache中 因此,当下次执行此查询时,将执行$query的md5哈希。它匹配并从memcache中获取结果 但是如果我必须从上面的查询中选择两个参数,该怎么办呢 比如$query=从用户处选择用户名、密码 那我该怎么办?理想情况下,我希望从与select*from users相同的密钥获取它,因为“select username,password from users”所需的所有数据都存在于与“select*from users”密钥对应的结果中PHP中的基本Memcached实现,php,memcached,implementation,cache-invalidation,Php,Memcached,Implementation,Cache Invalidation,我理解Memcache的概念,但我有一个疑问 让我们说: 我有一个包含三列的“用户”表: 用户ID 用户名 和密码 假设查询是$query=“select*from users”。查询第一次被执行并作为md5($query)->result存储在memcache中 因此,当下次执行此查询时,将执行$query的md5哈希。它匹配并从memcache中获取结果 但是如果我必须从上面的查询中选择两个参数,该怎么办呢 比如$query=从用户处选择用户名、密码 那我该怎么办?理想情况下,我希望从与se
如何处理此类问题?也许您应该将“用户”结果存储在一个键下,该键不会根据您选择的标准而更改。您已经将整个用户表存储到键md5(“select*from users”)中。所以你可以:
Memcache/PHP不知道数据库的内部结构。如果需要,您必须手动执行这种优化
否则,如果需要这种智能缓存,mysql的查询缓存可能更合适。正是我的想法,这一定是这个问题的答案。