我试图存储从数据库到Redis客户端的Arraylist值。但Redis只有Key/Value方法,Key/Value必须是String格式。我如何将Key存储为字符串和值作为Arraylist。如何在Redis缓存中存储ArrayList?
回答
,你必须使用Map来存储数据与键和值
Map<String, ArrayList<String>> map = new Map<String, ArrayList<String>>();
ArrayList<String> a= new ArrayList<String>();
a.add("Ganesh");
map.put("Name", a);
我想缓存来自数据库的结果。所以我们使用Redis缓存机制。例如,当相同的查询先触发时,如果不是DB,它将检查缓存。如果缓存中可用的数据将返回给客户端,而不会触及数据库。 –
这是新的新HashMap不是新地图 – Jason
但Redis的只有键/值方法键/值必须是字符串格式
Redis actually has very good support for storing values as lists,如果这就是你想要做的。这样做,如果你想对值做任何类型的列表操作。
如果您只是想存储列表并将其作为一个整体进行检索,那么您只需将其序列化为一个字符串,然后再存储到Redis中。在这种情况下,将列表编码为JSON字符串(或任何其他序列化格式)并将其存储在Redis中。然后,只要获得它,并在你想要它时反序列化。
您可以轻松地做到这一点使用基于Redis的框架 - Redisson。它提供包裹收藏品,如java.util.List
,java.util.Set
,java.util.Map
等等。
下面是List
一个例子:
Config config = ...
RedissonClient redisson = Redisson.create(config);
List<String> list = redisson.getList("myList");
list.add("1");
list.add("2");
list.add("3");
list.remove("2");
它支持多种流行的编解码器,像Jackson JSON
,Avro
,Amazon Ion
,Smile
,CBOR
,MsgPack
,Kryo
,FST
,LZ4
,Snappy
和JDK Serialization
- 1. Keycloak - Infinispan Redis缓存存储
- 2. Yii2 redis缓存在文件缓存中
- 3. 如何在Redis中缓存表格
- 4. 存储在ArrayList中
- 5. 存储在ArrayList中
- 6. Django 1.9在Redis中缓存
- 7. 如何将此存储在Redis中?
- 8. 如何在Redis中存储值列表?
- 9. 在redis中如何存储键值对?
- 10. 如何在redis中存储JSF会话?
- 11. 在Redis缓存中存储5000+条记录
- 12. 使用laravel在缓存/ redis中存储大型结果集5
- 13. 有没有人在redis缓存中存储过mp3?
- 14. 清除存储在Redis中的Doctrine缓存
- 15. redis如何存储数据
- 16. 如何验证imcache中的redis缓存?
- 17. c# - 如何在ViewState中存储ArrayList?
- 18. 如何在SharedPreferences中存储ArrayList
- 19. 缓存arraylist
- 20. 在缓存中存储MemoryStream
- 21. Django Redis缓存值
- 22. 排序redis缓存
- 23. Redis缓存结构
- 24. Laravel 5.1 Redis缓存
- 25. 用Redis缓存替换Windows Azure缓存?
- 26. 在Django缓存:Redis + Django&Varnish
- 27. 在sharedPreferences中存储Arraylist
- 28. 在HashMap中存储ArrayList
- 29. 在ArrayList中存储jsonobject
- 30. 将arraylist存储在IsolatedStorage中
使用的HashMap相当。 –