redis冷数据存储
㈠ Redis可以用来做数据库吗
Redis本来就是内存数据库,用来当做计数器,队列等的确很不错,性能高效。但是,但是,但是架构不靠谱下可能使你庆前仿提心吊胆。
只用Redis作为数据库时,使用时确实很爽,突然来个新需求、数据突然暴增、数据架构迁移的时候就给跪了。
Redis是key-value数据库,面对key的内存搜索,优势明显。
大部分还是要和其他持久化数据库合作使用悔陪,就只来说几个注意的场景:
1、Redis-RDB半持久化模式下,非实时,如果一旦断电,丢失一些数据,程序能不能接受、兼容?
2、Redis主要是Key的查询,对于复杂的数据结构,需要其他sql是不是更爽?需要其他关联查询?
3、Redis吃的是纯内存,跟磁盘相比,成本也要计算在内?
4、是否需要支持像银行存取款级别的事务?
5、数据总有“冷”、“热”之分,10亿的冷数据都放Redis显然浪费资源。
性能、成本、可靠性,最终是一个权衡的问题。
Redis 已经发展了 2 年多,很多团队已经验证了它是一个靠谱的数据库。 但是它并不通用,使用场景是有限的。
知乎日报的基础数据和统计信息是用 Redis 存储的,这使得请求的平均响应时间能在 10ms 以下。 其他数据仍然需要存放在另外的地方,其实完誉纤全用 Redis 也是可行的,主要的考量是内存占用。 就使用经验而言,Redis 的数据结构很丰富,精心设计地话,能满足很多应用场景。至少很多时候比 MySQL 更方便。 更重要的是,它很 cool,开发时有新鲜感。
㈡ redis有哪些存储模式
Redis支持多种数据结构和存储模式,其中包括:
字符串(String):字符串类型是Redis最基本的数据类型,它可以包含任何数据,比如文本、整数或二进制数据滚辩等。
哈希(Hash):哈希类型存储的是键值对集合,这些键值对可以是字符串类型的,也可以是数字类型的。
列表(List):列表类型是一个有序的字符串行表,可以添加、删除和插入元素。
集合(Set):集合类型存搏模储的是一组唯一的无序元素,支持添加、删除和查询操作。
有序集合(Sorted Set):有序集合类型存储的是一组有序的元素,每个元素都有一个分数(score),可以根据分数进行排序。
RDB持久化模式:在指定时间间隔内将内存中的数据保存到磁盘中。
AOF持久化模式:将所有对Redis数据库的写操作记录下来,可以通过回放这些日志文件来恢复数据库。
混合持久化模式:同时使用RDB和AOF两种持久化模式,以保证数大银缺据的可靠性和恢复速度。
此外,Redis还支持多种不同的持久化模式,包括: