4.4.2 避免冗余数据
您可以在百度里搜索“深入浅出React和Redux 艾草文学(www.321553.xyz)”查找最新章节!
4.4.2 避免冗余数据
冗余数据是一致性的大敌,如果在Store上存储冗余数据,那么维持不同部分数据一致就是一个大问题。
传统的关系型数据库中,对数据结构的各种“范式化”,其实就是在去除数据的冗余。而近年风生水起的NoSQL运动,提倡的就是在数据存储中“去范式化”,对数据结构的处理和关系型数据库正好相反,利用数据冗余来减少读取数据库时的数据关联工作。
面向用户的应用出于性能的考虑,倾向于直接使用“去范式化”的应用。但是带来的问题就是维持数据一致性就会困难。
不同的应用当然应该从自己的需要出发,在选择数据库的问题上,选择SQL关系型数据库或者NoSQL类型的数据库要根据应用特点,这个问题不是我们要在本书中要讨论的。但是要强调的是,不管服务器端数据库用的是“范式化”还是“去范式化”的数据存储方式,在前端Redux的Store中,一定要避免数据冗余的出现。
并不是说Redux应用不需要考虑性能,而是相对于性能问题,数据一致性的问题才更加重要。
在后面的章节中我们会介绍,即使使用“范式化”的无冗余数据结构,我们借助reselector等工具一样可以获得很高的性能。 深入浅出React和Redux