我想要一个自动完成功能.我在数据类型的属性上有简短的描述性字符串.我有一个redis列表,用于按创建日期排序的数据类型,我使用id来设置和获取数据类型的属性,如redis类型文档中所述.我不使用哈希表.在给定此设置的情况下,获取一组字符串与键入自动完成输入框的字符串的最佳方法是什么?浏览所有ID并检查我想要搜索的属性 - 每次击键似乎都是错误的方法.
编辑: 除了下面的答案,我已经看到这个:
我正在玩Redis,我有几个问题.是否可以从一组键中获取值?
例:
users:1:name "daniel"
users:1:age "24"
users:2:name "user2"
users:2:age "24"
events:1:attendees "users:1", "users:2"
Run Code Online (Sandbox Code Playgroud)
当redis.get events:1:attendees它返回时"users:1", "users:2".我可以遍历此列表并获取用户:1,获取用户:2.但是这感觉不对,有没有办法让所有与会者的信息在1上获得?!
在rails中我会做这样的事情:
@event.attendees.each do |att|
att.name
end
Run Code Online (Sandbox Code Playgroud)
但在redis中我不能,因为它返回键而不是存储在该键上的实际对象.
谢谢 :)
我想我已经很好地掌握了使用Redis的所有命令,但是我很难搞清楚使用它的最佳方法.我正在设计一个客户通知系统,当他们的任何电路发出警报时,它会通过他们的首选方法(电子邮件,SNMP,Syslog)通知他们.
所以,我得到一个设备名称和一个端口.我需要将其与单个客户相关联,然后将该客户与交付方法相关联.使用关系数据库,看起来可能看起来像这样:
Device name: Los_Angeles
Port: 11
SELECT Customer_ID, Customer_name from device_info where device_port = 'Los_Angeles:11'
SELECT Customer_protocol, SNMP_destination, Syslog_destination from CUSTOMER
where Customer_ID = <customer_id from above>
Run Code Online (Sandbox Code Playgroud)
(非常简化的例子).
我可以看到如何使用列表哈希或散列哈希以编程方式执行此操作.但我想我在Redis遇到的问题是我无法获得那些更复杂的数据结构(据我所知).那么,如何将多条信息与一个密钥相关联?我可以想到一些我可以做到的方法,但它们似乎都涉及多个步骤,我想从当前的Redis程序员那里得到一些关于"最佳"方法的信息.