频繁读操作用 String。频繁写入用 Hash
Redis存储的java对象们一般用String或者Hash都可以进行存储,到底在什么时候使用String?什么时候使用hash呢?
String 的存储场景应用在频繁读操作,他的存储结构是json字符串。即把java对象转换为json。然后存入redis中。
Hash 的存储场景应用在频繁写的操作。即。当对象的某个属性频繁修改时,不适合用JSON+String的方式进行存储,因为不灵活,每次修改都要把整个对象转成JSON在进行存储。如果采用hash,就可以针对某个属性进行针对性的单独修改。不用序列化去修改整个对象,比如:产品的库存,架构、浏览数、关注数、评论数、点赞数等在开发中可能经常变动,这个时候就可以使用hash来存储要更优越string。
并且,string类型不太好涨值,hash好操作点,可以对莫格属性单独修改
结论:频繁读操作用string。频繁写入用hash
进入redistemplate里面查看
大部分reids的数据类型都是最开始就定义好的了,但是hash是每一次都会新new出来一个,保证了线程的安全,适合操作写的操作