我可以将RedisDB用于大型数据库而不是基于SQL的数据库吗?
我非常喜欢RedisDB架构,现在我正在使用RedisDB支持虚拟内存。
但我现在没有多快。
PS当我说大数据库时,我并不是说真的很大。只是某个网站的DB,不能放在内存中。答案 0 :(得分:2)
这完全取决于您的申请。 Redis是一家Key-Value商店。如果您的数据以关系格式存储并且不能很好地用于密钥检索,那么它对您来说并不是真正的解决方案。此外,Redis在存储在内存中时性能最佳。如果交易对你很重要,那也不是一个好的解决方案。我使用Redis并喜欢它,但似乎很多人都试图在Redis不适合的应用程序中进行抢修。如果您要存储网页,评论,推文等内容,我还会考虑像MongoDB这样的文档存储。您必须添加有关实施的更多详细信息。
答案 1 :(得分:2)
Redis虚拟内存性能取决于您如何使用它 - 如果您经常使用的值都适合内存,偶尔使用磁盘读取不太受欢迎的内容,则与内存中的完整数据集没有太大区别。如果您的访问要求是完全随机的,并且只有从磁盘加载后才能读取一次值,那么它将不会比从磁盘读取文件更好。当然,任何缓存解决方案都会遇到问题。
设计redis vm时需要考虑以下几点:
所有键都需要适合内存,即使它们的值不适合。如果您的值是一个大型序列化对象,则此方法很有效,但如果您的值是单个数字或短字符串并且实际上可能小于键,则效果不佳。
使用VM时,保存过程的工作方式略有不同。我不记得详细信息,但您可能需要考虑保证在什么时候写入磁盘。