首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从存储在memcache键中的数组中删除一个值?

问从存储在memcache键中的数组中删除一个值?
EN

Stack Overflow用户
提问于 2012-03-14 11:39:24
回答 2查看 1.6K关注 0票数 1

假设您希望允许用户能够删除某些数据,但通常它是静态的,并且适合缓存。有没有一种方法可以从键中删除这个值,这样就可以缓存其他所有内容,并删除用户想要删除的内容?关键字将是一个由许多数组组成的数组。数组保存了项的信息,如id、用户名、标题等,如果用户想要删除,则需要删除其中的一个数组。

示例代码:

存储内容:

代码语言:javascript
复制
    $cachedData = $this->memcache->get($this->key);
    if($cachedData === false){
        $cachedData = array();
        $sql = "SELECT id, name FROM table LIMIT 100";
        $res = mysql_query($sql);
        while($rec = mysql_fetch_assoc($res)){
            $cachedData[] = $rec;
        }
        // cache for 10 minutes
        $this->memcache->set($this->key, $cachedData, 0, 600);
    } 

它基本上是从google代码示例中得到的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-14 11:42:30

执行此操作的唯一方法是将键的值读入一个变量,修改该变量的内容,然后将整个键写回memcached。

memcached完全在顶层key:value层操作;它既不关心也不理解您将什么作为值放入其中。就它而言,作为值放入的“数组数组”只是另一个字符串。

票数 1
EN

Stack Overflow用户

发布于 2012-03-14 11:42:42

您似乎正在描述的正是memcached所做的事情。所以我在想,要么是我误解了问题,要么是你没有问你想问的问题。

要删除键值对,请使用Memcache::delete。这样做将使所有其他键-值对保持不变。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9695580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档