首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >红系研究

红系研究
EN

Stack Overflow用户
提问于 2015-06-28 12:48:04
回答 1查看 135关注 0票数 4

我是redis的新手,我用它为每个用户存储一些他选择在周末前阅读的书籍。显然,用户应该能够添加/删除/清除他的图书列表。

我可以利用redis来做一些类似于'SQL‘的事情吗?例如:DELETE FROM ....或者告诉userA他的列表中是否有一本书.

下面的代码显示了我如何计算用户是否已经存储了一本给定的书

代码语言:javascript
复制
 // Storing part
 $books = array(
      array(
          'reference' => 'HKL33432h22',
          'titre'     => 'titre1',
          'auteur'    => 'toto'
      ),
      array(
          'reference' => 'APZO0000NKHD',
          'titre'     => 'titre2',
          'auteur'    => 'titi'
      ),....
 );

 $this->redis->set($userId, serialize($books));

 // Searching part
 $referenceToLookFor = '89OHJLKJFKEJH';
 $found = false;
 $storedBooks = unserialize($this->redis->get($userId));

 foreach ($storedBooks as $i => $storedBook) {
      if ($referenceToLookFor === $storedBook['reference']) {
          $found = true;
      }
 }

是否可以让redis通过它的引用来判断用户是否有一本书(唯一的价值)?

旧束

"snc/redis-bundle": "1.1.x-dev"

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-28 13:22:14

你可能在找雷迪斯的散列数据类型。您可以将您的书籍数组放入哈希中,然后使用HEXISTS检查是否存在一个键(例如引用号),用HSCAN迭代哈希中的所有书籍,或者用HDEL删除特定条目,然后用HSET添加。

请记住,Redis并不知道或关心存储在它的键中的数据,它完全是基于键的,没有任何SQL样式的WHERE key=value

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

https://stackoverflow.com/questions/31099987

复制
相关文章

相似问题

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