我是一个初学者程序员,正在为网址缩短建立一个网络服务,并正在考虑使用哪个NoSQL。我只需要存储原始的urls和缩短的urls,所以Redis是一个显而易见的选择,因为它非常快。但是Redis受到内存大小的限制,而DynamoDB或Cassandra等其他键值NoSQL将数据存储在磁盘中。您认为使用Redis作为繁重读请求的缓存,同时使用其他NoSQL作为数据库是否有意义?
发布于 2018-10-07 07:03:00
是的,您可以使用Redis进行缓存,并使用另一种NoSql工具进行持久化。事实上,你应该考虑你的项目的复杂性,比如并发访问者的数量,你能负担得起的硬件等等。Redis还可以将数据存储在磁盘中,所以当你重新启动服务器时,你的缓存数据将会保留下来。然而,它也将它们全部存储在内存中,这就是Redis如此快速的秘诀。您还应该考虑将数据以二进制而不是Json的形式存储在Redis中,这将大大减少内存的使用。您可以使用Protobuf等编码库,这将帮助您节省大量内存。如果您的项目在不久的将来变得更加复杂,您还可以使用RDMS作为数据库服务器,以满足您未来的需求,它将为您提供独特的功能。
https://stackoverflow.com/questions/52682451
复制相似问题