使用Java读取 “Python写入redis” 的数据踩坑记录
生活随笔
收集整理的這篇文章主要介紹了
使用Java读取 “Python写入redis” 的数据踩坑记录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
https://my.oschina.net/u/2338224/blog/3061507
使用Java讀取 “Python寫入redis” 的數據踩坑記錄
https://segmentfault.com/q/1010000007043502/a-1020000007054559/revision可以使用Python讀取java寫入redis 的object數據,并解析嗎?
https://github.com/andymccurdy/redis-py/issues/777how can i set 'class' object and get it from redis ? #777
https://segmentfault.com/q/1010000007043502?_ea=1222915
可以使用Python讀取java寫入redis 的object數據,并解析嗎?
https://www.liangzl.com/get-article-detail-132528.html使用Java讀取 “Python寫入redis” 的數據踩坑記錄
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({"classpath:spring-mybatis.xml","classpath:spring-redis.xml"}) public class RedisTest {@Autowiredprivate RedisUtil redisUtil;@SuppressWarnings("resource")@Testpublic void getHashKeyValue() {JedisPool pool = null;pool = new JedisPool("localhost",6379);Jedis jedisClient = pool.getResource();jedisClient.auth("1234");String key = "device:49bd573355464bfbad3dce4f68345008";// List<String> list = jedisClient.hmget("device:49bd573355464bfbad3dce4f68345008"); // System.out.println(list);String temperature = jedisClient.hget("device:49bd573355464bfbad3dce4f68345008","temperature");System.out.println(temperature); // List<String> list = jedisClient.hmget("device:49bd573355464bfbad3dce4f68345008"); // System.out.println(list); // jedisClient.hmget(key, fields)Map<String, String> map = jedisClient.hgetAll(key);System.out.println(map);}@Testpublic void getAllHashByKey() { // Map<Object, Object> map = redisUtil.hmget("device:49bd573355464bfbad3dce4f68345008"); // Map<Object, Object> map = redisUtil.hmget("device:DMB28E3ACBD4B22A8633E13E58717038DE"); // Map<Object, Object> map = redisUtil.hmget("device:WPD741705FE5210AE2096D2C05BD3466CA");Map<String, String> map = RedisUtil.getAllHashByKey("device:DMB28E3ACBD4B22A8633E13E58717038DE");int size = map.size();System.out.println(size);System.out.println(map); // Integer reportStatus = (Integer) map.get("reportStatus"); // Integer powerConsumption = (Integer) map.get("powerConsumption"); // System.out.println(reportStatus); // System.out.println(powerConsumption);}} @Component public class RedisUtil { // (自動注入redisTemplet)@Autowiredprivate RedisTemplate<String, Object> redisTemplate; public void setRedisTemplate(RedisTemplate<String, Object> redisTemplate) { this.redisTemplate = redisTemplate; } public final static String REDIS_HOST = "localhost";public final static Integer REDIS_PORT = 6379;public final static String REDIS_PASSWORD = "1234";public final static Integer MAX_TOTAL = 500;public final static Integer MAX_WAIT_MILLIS = 2000;public static JedisPool jedisPool = null;public static JedisPoolConfig config = null;/*關閉Jedis*/public static void close(Jedis jedis){if(jedis!=null){jedis.close();}}public static Map<String,String> getAllHashByKey(String key) {Jedis jedis = null;try {// 1 獲得連接池配置對象,設置配置項config = new JedisPoolConfig();// 1.1 最大連接數config.setMaxTotal(200); config.setMaxWaitMillis(2000);jedisPool = new JedisPool(config,RedisUtil.REDIS_HOST,RedisUtil.REDIS_PORT);jedis = jedisPool.getResource();jedis.auth(RedisUtil.REDIS_PASSWORD);Map<String, String> map = jedis.hgetAll(key);return map;} catch (Exception e) {e.printStackTrace();return null;}finally {close(jedis);}}}
?
-Java 存儲與python共享數據時,應避免將String字符串當做對象進行序列化存儲,應直接以字符串的形式存 儲,如果需要共享對象,對象轉化為json串存儲。 @SuppressWarnings("resource")public static Map<String,String> getAllHashByKey(String key) {try {JedisPool pool = null;pool = new JedisPool(RedisUtil.REDIS_HOST,RedisUtil.REDIS_PORT);Jedis jedisClient = pool.getResource();jedisClient.auth(RedisUtil.REDIS_PASSWORD);Map<String, String> map = jedisClient.hgetAll(key);return map;} catch (Exception e) {e.printStackTrace();return null;}}@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({"classpath:spring-mybatis.xml","classpath:spring-redis.xml"}) public class RedisTest {@Autowiredprivate RedisUtil redisUtil;@SuppressWarnings("resource")@Testpublic void getHashKeyValue() {JedisPool pool = null;pool = new JedisPool("localhost",6379);Jedis jedisClient = pool.getResource();jedisClient.auth("1234");String key = "device:49bd573355464bfbad3dce4f68345008";// List<String> list = jedisClient.hmget("device:49bd573355464bfbad3dce4f68345008"); // System.out.println(list);String temperature = jedisClient.hget("device:49bd573355464bfbad3dce4f68345008","temperature");System.out.println(temperature); // List<String> list = jedisClient.hmget("device:49bd573355464bfbad3dce4f68345008"); // System.out.println(list); // jedisClient.hmget(key, fields)Map<String, String> map = jedisClient.hgetAll(key);System.out.println(map);}@Testpublic void getAllHashByKey() { // Map<Object, Object> map = redisUtil.hmget("device:49bd573355464bfbad3dce4f68345008"); // Map<Object, Object> map = redisUtil.hmget("device:DMB28E3ACBD4B22A8633E13E58717038DE"); // Map<Object, Object> map = redisUtil.hmget("device:WPD741705FE5210AE2096D2C05BD3466CA");Map<String, String> map = RedisUtil.getAllHashByKey("device:DMB28E3ACBD4B22A8633E13E58717038DE");int size = map.size();System.out.println(size);System.out.println(map); // Integer reportStatus = (Integer) map.get("reportStatus"); // Integer powerConsumption = (Integer) map.get("powerConsumption"); // System.out.println(reportStatus); // System.out.println(powerConsumption);}} @Component public class RedisUtil { // (自動注入redisTemplet)@Autowiredprivate RedisTemplate<String, Object> redisTemplate; public void setRedisTemplate(RedisTemplate<String, Object> redisTemplate) { this.redisTemplate = redisTemplate; } public final static String REDIS_HOST = "localhost";public final static Integer REDIS_PORT = 6379;public final static String REDIS_PASSWORD = "1234";public final static Integer MAX_TOTAL = 500;public final static Integer MAX_WAIT_MILLIS = 2000;public static JedisPool jedisPool = null;public static JedisPoolConfig config = null;/*關閉Jedis*/public static void close(Jedis jedis){if(jedis!=null){jedis.close();}}public static Map<String,String> getAllHashByKey(String key) {Jedis jedis = null;try {// 1 獲得連接池配置對象,設置配置項config = new JedisPoolConfig();// 1.1 最大連接數config.setMaxTotal(200); config.setMaxWaitMillis(2000);jedisPool = new JedisPool(config,RedisUtil.REDIS_HOST,RedisUtil.REDIS_PORT);jedis = jedisPool.getResource();jedis.auth(RedisUtil.REDIS_PASSWORD);Map<String, String> map = jedis.hgetAll(key);return map;} catch (Exception e) {e.printStackTrace();return null;}finally {close(jedis);}}}
?
總結
以上是生活随笔為你收集整理的使用Java读取 “Python写入redis” 的数据踩坑记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单体架构
- 下一篇: Python简介-01-Python的起