草庐IT

Database_Cleaner

全部标签

performance - 跟进 [Segmenting Redis By Database] 的 Q

这是一个后续问题SegmentingRedisByDatabase.我最初问的是一个redis实例内不同数据库的rediskeys操作的时间复杂度。我问的原因是因为我试图在有x多段键的地方实现一个缓存,每个键都可能有y实际数据实例,导致xy总键数。不过,我想支持主键的通配符搜索,似乎在redis中唯一实现的键的通配符查询是keys命令,使用它气馁。在我看来,将x键放在一个单独的数据库中似乎是一个不错的折衷方案,在该数据库中,较少数量的键将进行keys操作表现令人满意。谁能提出更好的选择?谢谢。 最佳答案 我仍然认为使用KEYS确实无

database - 在 Redis 中存储和读取通知的最佳方法(Json 或多数据结构)?

我想将我的应用程序的通知存储在排序集或Redis列表中(是一个也有通知的链接缩短器)。我有不同类型的通知,所以我不能像普通字符串一样存储它们。例如,如果我想存储:通知文本通知类型我有两种方法。一种是序列化Json并像普通字符串一样存储,并在我想使用它时反序列化。或者另一种方法是将键保存在列表中,然后再次将Redis命中到另一个数据结构,以通过存储在列表中的键获取通知哈希。像通知系统一样,系统会一直读写。所以在几行中反序列化和序列化VS拆分数据和多个数据库命中?我对这类决策没有太多经验,所以也许有人遇到过这个并且知道在效率和可扩展性方面最好的方法是什么,或者至少可以解释我如何做出决策,因

database-design - 我可以在 Oracle 数据库中持久化 redis 数据吗?

我们正在尝试通过Redis实现缓存,我了解到它会将数据存储到自己格式的RDB文件中。但是我们已经有其他客户端使用的Oracle持久性。因此,我们不想将数据存储在RDB文件中,而是希望将数据持久保存在OracleDB中。 最佳答案 在这种情况下禁用文件写入,并将Redis用作纯内存缓存。为此,只需注释redis.conf中的所有“保存”行即可。在伪代码中,读取一个值应该像这样完成:result=getvaluefromredisif(resultisnull){result=getvaluefromOraclestoreresulti

database - 如何在D盘安装redis服务器?

我正在按照此页面上的说明进行操作:https://github.com/ServiceStack/redis-windows我将文件移动到我的D驱动器上的一个文件夹中,但安装无法完成,并且出现未知错误。难道redis服务器不能安装在C盘以外的盘上吗?如果是这样,那我该怎么做呢? 最佳答案 默认情况下,Redis将其堆内存映射文件放在本地应用程序文件夹中(例如“%USERPROFILE%\AppData\Local”)。您可以通过设置redis.windows.conf中的heapdir来覆盖此位置,该文​​件位于与redis-ser

database - 从 SQLite 移植到 Redis

我在一个应用程序中使用SQLite,我曾经在其中存储8-10列。我曾经根据任意数量的这些属性的组合来检索数据。现在我想移植到Redis。所以我正在为它构建一个测试应用程序。但我想不出如何设计我的redis系统,使我能够根据任何这些属性检索数据。你们有什么建议/经验吗? 最佳答案 我认为最好的建议是在将某些东西从RDBMS移植到Redis时避免坚持使用关系模型。除了模型之外,一个重要的区别是关注数据访问路径和数据结构。Redis不包含查询语言(而是命令lamemcached),因此无法回复任意查询。如果数据的访问路径不是数据结构的一部

database - 通俗地说, "persistent store"是什么?

在“redis”文档中有一些术语,例如内存存储、持久存储。它们到底是什么以及我们为什么要使用它们? 最佳答案 内存存储意味着使用像内存一样的RAM,每次启动机器时都会删除内存-通常很快持久性是一种存储,当您关闭计算机时,它会在“session”期间持续存在,您的硬盘驱动器会保留保存到其中的数据。-通常很慢 关于database-通俗地说,"persistentstore"是什么?,我们在StackOverflow上找到一个类似的问题: https://stac

database - Redis 处理 Huge DataSet

据我所知,经典关系数据库相对于Redis的(左)优势之一是,在存储大量大型数据集(例如大小为20GB)的用例中,最好继续使用MySQL等数据库。根据Redis具有分片功能(意味着将值分成几部分)这一事实,我的问题-关系数据库比Redis更好仍然是一个问题吗?(例如在读/写效率方面,对这些数据集进行查询的复杂性等) 最佳答案 这完全是使用正确工具完成工作的问题。RDBMS和NoSQL解决方案(例如Redis)均可用于存储大数据集-例如,我对超过1TB的Redis数据库非常熟悉。使用Redis存储数据的最大“缺点”是成本-由于Redis

database - 是否有使用相同 API 的非内存版本的 Redis?

我在多个应用程序中广泛使用Redis。在我们的一台服务器上,由于数据加载时间较慢,我想使用我开发的API,但我不想将所有内容都放在内存中(因为这太昂贵了)。相反,我希望将所有内容写入磁盘。我不想重写我的整个API。这可能吗?例如,是否有一个桥接器允许我使用Redis命令查询mongodb?我知道如何优化Redis中的内存使用。我知道http://redis.io/topics/virtual-memory,但在我的例子中,key也可以写入文件系统。 最佳答案 也许是皮卡?https://github.com/Qihoo360/pik

database-design - Redis 数据库设计基础

我设计了我的第一个Redis数据库,希望得到一些反馈、建议或提示。概述:我的redis数据库存储文章,以后可以按喜欢、创建日期、更新日期、作者等排序......文章也包含“项目”,我还需要确定哪些文章中至少有1个项目。创作创建新文章时,我将其ID写入各种键ZADD'articles:created'时间戳ArticleIDZADD'articles:updated'时间戳ArticleIDZADD'articles:likes'0文章IDSADD'user:USERID:articles'文章ID每当文章更新时ZADD'articles:updated'时间戳ArticleID每当一个

database - 是否建议在生产环境中使用数据库作为容器?

假设我们正在为产品使用微服务架构,并且我们决定使用“每个服务的数据库”模型,并由AWS等提供商部署在云服务器中。将数据库作为开发和测试环境的容器运行是很方便的。但同样可以在生产环境中实现!如果是这样,它会有多安全?还是使用AWSRDS-DB的云解决方案是否合适!! 最佳答案 这个blogpost列出了不应在容器中运行生产数据库的一些原因。它还引用了anotherblogpost描述更新docker和不稳定的存储驱动程序的问题。对我来说,这里的要点归结为:不可靠的存储驱动程序。当您将数据库状态写入主机系统时,这可能不是问题,但Dock