草庐IT

db_search

全部标签

python - 迭代redis db中所有键和值的更快方法

我有一个包含大约350,000个键的数据库。目前我的代码只是循环遍历所有键并从数据库中获取它的值。但是这需要将近2分钟才能完成,这看起来真的很慢,redis-benchmark给出了100kreqs/3s。我看过流水线,但我需要返回每个值,这样我才能得到键值对的字典。目前我正在考虑在我的代码中使用线程来加快速度,这是处理这个用例的最佳方式吗?这是我目前的代码。importredis,timeitstart_time=timeit.default_timer()count=redis.Redis(host='127.0.0.1',port=6379,db=9)keys=count.key

python - 迭代redis db中所有键和值的更快方法

我有一个包含大约350,000个键的数据库。目前我的代码只是循环遍历所有键并从数据库中获取它的值。但是这需要将近2分钟才能完成,这看起来真的很慢,redis-benchmark给出了100kreqs/3s。我看过流水线,但我需要返回每个值,这样我才能得到键值对的字典。目前我正在考虑在我的代码中使用线程来加快速度,这是处理这个用例的最佳方式吗?这是我目前的代码。importredis,timeitstart_time=timeit.default_timer()count=redis.Redis(host='127.0.0.1',port=6379,db=9)keys=count.key

search - 对多方面搜索软件栈的建议

我需要为客户创建一个搜索工具,作为新项目的一部分。记录将是在一个或多个特定日期发生的事情。很高兴获得SO的建议,了解哪些工具最适合满足以下要求:需要(多方面)搜索数万条记录(基于类别、日期、价格等字段)需要搜索多值字段(即标签)需要能够根据静态因素(例如价格、距离等)进行排序需要能够根据动态/频繁变化的因素(例如用户参与度/流量等)进行排序需要能够只返回在用户自己的社交网络中有事件的记录(即“只显示我的friend参与过的结果”)。将部署在EC2中我目前的想法是:混合使用AmazonCloudSearch和Redis等工具几千条实际上并没有那么多记录。也许大部分工作都在RDBMS中完成

search - 对多方面搜索软件栈的建议

我需要为客户创建一个搜索工具,作为新项目的一部分。记录将是在一个或多个特定日期发生的事情。很高兴获得SO的建议,了解哪些工具最适合满足以下要求:需要(多方面)搜索数万条记录(基于类别、日期、价格等字段)需要搜索多值字段(即标签)需要能够根据静态因素(例如价格、距离等)进行排序需要能够根据动态/频繁变化的因素(例如用户参与度/流量等)进行排序需要能够只返回在用户自己的社交网络中有事件的记录(即“只显示我的friend参与过的结果”)。将部署在EC2中我目前的想法是:混合使用AmazonCloudSearch和Redis等工具几千条实际上并没有那么多记录。也许大部分工作都在RDBMS中完成

redis - servicestack redis,使用SetEntry时,会在redis db中自动生成key为 "ids:+objectName"的set,如何禁用?

使用SetEntry时,会在redisdb中自动生成key为“ids:+objectName”的set。例如:typedClient.SetEntry("famyly:username:jhon",newFamily{FatherName="Jhon",...});将在redis数据库中自动创建一个键名为“ids:Family”的集合和一个成员如“2343443”,每次我使用SetEntry更新或修改相同的键时,“ids:Family”的集合将增加一个新的自动生成的成员。如果我经常更新key,这个集合将变得非常大。如何禁用自动生成集?这个集合在当前情况下似乎没有用。谢谢

redis - servicestack redis,使用SetEntry时,会在redis db中自动生成key为 "ids:+objectName"的set,如何禁用?

使用SetEntry时,会在redisdb中自动生成key为“ids:+objectName”的set。例如:typedClient.SetEntry("famyly:username:jhon",newFamily{FatherName="Jhon",...});将在redis数据库中自动创建一个键名为“ids:Family”的集合和一个成员如“2343443”,每次我使用SetEntry更新或修改相同的键时,“ids:Family”的集合将增加一个新的自动生成的成员。如果我经常更新key,这个集合将变得非常大。如何禁用自动生成集?这个集合在当前情况下似乎没有用。谢谢

node.js - 逻辑分离 : Search, 数据库和应用程序

我正在尝试决定如何拆分我的逻辑。我将我的主要业务逻辑放在Node.js/Express中,并且我一直在为我的数据库使用Mongo。这很好用,但现在我需要实现一个非常强大的搜索系统,因为搜索是我网站最重要的功能之一。起初我对Mongo和Couch缺乏支持和集成感到非常惊讶,但后来我意识到我正在尝试让数据库做一些它不适合做的事情。现在我正在考虑使用Solr或ElasticSearch,但它开始似乎能够执行Mongo可以执行的部分或大部分查询,只要我正确地索引我的文档(并且根据它们的性质,我将索引每个文档的几乎每个属性)。所以说,我在想也许我应该只使用一些非常简单的东西,比如Redis,而依

node.js - 逻辑分离 : Search, 数据库和应用程序

我正在尝试决定如何拆分我的逻辑。我将我的主要业务逻辑放在Node.js/Express中,并且我一直在为我的数据库使用Mongo。这很好用,但现在我需要实现一个非常强大的搜索系统,因为搜索是我网站最重要的功能之一。起初我对Mongo和Couch缺乏支持和集成感到非常惊讶,但后来我意识到我正在尝试让数据库做一些它不适合做的事情。现在我正在考虑使用Solr或ElasticSearch,但它开始似乎能够执行Mongo可以执行的部分或大部分查询,只要我正确地索引我的文档(并且根据它们的性质,我将索引每个文档的几乎每个属性)。所以说,我在想也许我应该只使用一些非常简单的东西,比如Redis,而依

python - 使用 Redis 与 memcached+db 作为 Django 的 session 系统的优缺点?

Django的内置cached_dbsession允许我使用memcached来存储session数据,并写入数据库以实现持久性。虽然一些应用程序使用redis作为它们的session存储(例如instagram)。这些解决方案的优缺点是什么?附注我不是问memcached和redis的对比,这个问题Memcachedvs.Redis?已经提供了很好的答案。我想问的是在session系统的情况下哪个更好。 最佳答案 在Memcached中,当达到内存限制时,键会过期,即使它们的ttl仍然到期。这样你的一些用户将失去他们的sessio

python - 使用 Redis 与 memcached+db 作为 Django 的 session 系统的优缺点?

Django的内置cached_dbsession允许我使用memcached来存储session数据,并写入数据库以实现持久性。虽然一些应用程序使用redis作为它们的session存储(例如instagram)。这些解决方案的优缺点是什么?附注我不是问memcached和redis的对比,这个问题Memcachedvs.Redis?已经提供了很好的答案。我想问的是在session系统的情况下哪个更好。 最佳答案 在Memcached中,当达到内存限制时,键会过期,即使它们的ttl仍然到期。这样你的一些用户将失去他们的sessio