我正在使用此代码:
sadd my_set "el1"
在my_set中插入“
el1”。sadd仅返回插入元素的数量。我需要的是插入元素的键,以便以后可以检索它。我确信有一种我不知道的方法。难道是正确的功能,还是我应该选择其他类似设置/获取?
编辑:我需要类似mysql中的auto_increment键。当我插入一些东西时,获取最后插入的元素以备将来使用。
我需要这样的东西:
key: 1
value: {"name": "jack", "tel": "12412415"}
所以我可以使用key = 1获得数组
要执行类似于“ auto_increment”的操作,我将查看INCR函数:
http://redis.io/commands/incr
它将增加一个值,并将新值返回给您-它是原子的(就像大多数/所有Redis命令一样),因此您不必担心线程问题。因此,您的步骤将类似于:
如果要存储可以通过索引查找的项目列表,则可能需要执行以下操作(在编程伪代码中):
// When you initialize your database for the first time.
SET index "0"
// When you want to insert a new item:
INCR index
SET myList:(index value) "My Value"
// When you want to retrieve an item, and you have the index for it:
GET myList:(index value)
在此示例中,我假设在您的程序中您正在跟踪INCR返回的值。INCR返回的值将是插入新项目的索引,以及以后用来查找项目的索引。因此,在我的示例代码中,将(索引值)替换为从INCR返回的存储值(当然,如何执行此操作取决于您使用的编程语言)。
请注意,这让中间删除项,通过DEL myList:(index value)
了,因为你要跟踪的 最后一个索引
用index
,所以即使项目被删除,最后指数仍将保持不变-这表现得非常类似于“自动增量”大多数SQL服务器中的字段。
您真的不想为此使用集;集合本质上是无序的,并且它们并不是真的可以通过“键”来查找事物-
集合中的项甚至根本没有键。集合对于您可以对它们执行的其他集合操作(例如SINTER或SDIFF)更有用。
问题内容: 我正在考虑使用Redis的协议进行批量插入,如下所述:http : //redis.io/topics/mass-insert 在我忙于编写代码来处理此问题之前,我只是想确保自己清楚什么是Redis要求进行此工作。 上面的链接建议使用大容量插入调用SET操作[SET myKey Value myValue],我需要创建一个命令,该命令可以在文件的多行或单个引号字符串中完成。 假设我不想
问题内容: 我尝试多次插入但它给我错误 -http://pastie.org/7337421 我究竟做错了什么 ? 问题答案: 您可以尝试以下方法:
问题内容: 我想删除与“用户*”匹配的键。 我如何在Redis命令行中做到这一点? 问题答案: 此功能目前无法一口气完成(请参阅文档中的注释)。不幸的是,您只能使用,遍历结果,然后使用来删除每个结果。 怎么样使用bash来帮助? 要逐步执行: -获取所有键并使用awk删除不需要的多余文本。 -为每一个创建一个echo语句以将其删除。 -使用DEL语句,然后将它们传递回cli。 不建议这样做是最好的
问题内容: 我可以使用连接的redis-cli复制密钥吗,redis中是否预定义了任何命令? 将FSS_SYSAGENT复制到FSS_SYSAGENTDuplicate。 10.44.112.213:6403> hgetall FSS_SYSAGENT 1)“ SYSTEM_01” 2)“ {\” port \“:\” 4407 \“,\” ipAddress \“:\” 10.44.112.21
问题内容: 在我的设置中,该命令向我显示以下内容: 我想找到没有到期日期的那三个键。我已经检查了文档无济于事。有任何想法吗? 问题答案: 从我现在找不到的网站修改。 编辑:注意,这是一个阻止呼叫。
问题内容: 我在本地计算机上使用Redis,所以我真的不需要设置密码即可通过php客户端连接到服务器(我使用predis作为客户端)。但是,我将应用程序移动到实时服务器,因此我想设置一个密码以连接到我的Redis服务器。 我有几个问题: 我在互联网上检查了如何设置密码,好像我需要在redis.conf中添加密码。我找不到我应该完全添加到配置文件中来设置密码的内容。 另外在predis我应该如何添加