@Override public Map<byte[], byte[]> hGetAll(byte[] key) { return convertAndReturn(delegate.hGetAll(key), identityConverter); }
@Override @Nullable public Map<byte[], byte[]> resolveReference(Object id, String keyspace) { byte[] key = converter.convert(keyspace + ":" + id); return redisOps.execute((RedisCallback<Map<byte[], byte[]>>) connection -> connection.hGetAll(key)); } }
@Override public Map<String, String> hGetAll(String key) { return convertAndReturn(delegate.hGetAll(serialize(key)), byteMapToStringMap); }
@Override public Map<HK, HV> entries(K key) { byte[] rawKey = rawKey(key); Map<byte[], byte[]> entries = execute(connection -> connection.hGetAll(rawKey), true); return entries != null ? deserializeHashMap(entries) : Collections.emptyMap(); }
@Nullable @Override public <T> T get(Object id, String keyspace, Class<T> type) { String stringId = asString(id); String stringKeyspace = asString(keyspace); byte[] binId = createKey(stringKeyspace, stringId); Map<byte[], byte[]> raw = redisOps .execute((RedisCallback<Map<byte[], byte[]>>) connection -> connection.hGetAll(binId)); RedisData data = new RedisData(raw); data.setId(stringId); data.setKeyspace(stringKeyspace); return readBackTimeToLiveIfSet(binId, converter.read(type, data)); }
rawData.put(id, connection.hGetAll(singleKey));
@Override public void onMessage(Message message, @Nullable byte[] pattern) { if (!isKeyExpirationMessage(message)) { return; } byte[] key = message.getBody(); byte[] phantomKey = ByteUtils.concat(key, converter.getConversionService().convert(KeyspaceIdentifier.PHANTOM_SUFFIX, byte[].class)); Map<byte[], byte[]> hash = ops.execute((RedisCallback<Map<byte[], byte[]>>) connection -> { Map<byte[], byte[]> hash1 = connection.hGetAll(phantomKey); if (!CollectionUtils.isEmpty(hash1)) { connection.del(phantomKey); } return hash1; }); Object value = converter.read(Object.class, new RedisData(hash)); String channel = !ObjectUtils.isEmpty(message.getChannel()) ? converter.getConversionService().convert(message.getChannel(), String.class) : null; RedisKeyExpiredEvent event = new RedisKeyExpiredEvent(channel, key, value); ops.execute((RedisCallback<Void>) connection -> { connection.sRem(converter.getConversionService().convert(event.getKeyspace(), byte[].class), event.getId()); new IndexWriter(connection, converter).removeKeyFromIndexes(event.getKeyspace(), event.getId()); return null; }); publishEvent(event); }
@Override public Map<byte[], byte[]> hGetAll(byte[] key) { return redisConnection.hGetAll(key); }
public Map<String, String> doInRedis(RedisConnection connection) throws DataAccessException { if(exists(key)){ Map<byte[], byte[]> map = connection.hGetAll(key.getBytes()); Map<String, String> resMap = new HashMap<>(); map.forEach((key, value) -> resMap.put(new String(key), new String(value))); return resMap; }else { return new HashMap<>(); } } });
@Override public Map<byte[], byte[]> hGetAll(byte[] key) { return convertAndReturn(delegate.hGetAll(key), identityConverter); }
@Override public Map<byte[], byte[]> hGetAll(byte[] key) { return convertAndReturn(delegate.hGetAll(key), identityConverter); }
@Override @Nullable public Map<byte[], byte[]> resolveReference(Object id, String keyspace) { byte[] key = converter.convert(keyspace + ":" + id); return redisOps.execute((RedisCallback<Map<byte[], byte[]>>) connection -> connection.hGetAll(key)); } }
@Override @Nullable public Map<byte[], byte[]> resolveReference(Object id, String keyspace) { byte[] key = converter.convert(keyspace + ":" + id); return redisOps.execute((RedisCallback<Map<byte[], byte[]>>) connection -> connection.hGetAll(key)); } }
@Override public Map<String, String> hGetAll(String key) { return convertAndReturn(delegate.hGetAll(serialize(key)), byteMapToStringMap); }
@Override public Map<String, String> hGetAll(String key) { return convertAndReturn(delegate.hGetAll(serialize(key)), byteMapToStringMap); }
@Override public Map<HK, HV> entries(K key) { byte[] rawKey = rawKey(key); Map<byte[], byte[]> entries = execute(connection -> connection.hGetAll(rawKey), true); return entries != null ? deserializeHashMap(entries) : Collections.emptyMap(); }
@Override public T doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer = redisTemplate.getStringSerializer(); Map<String,Object> result; Map<byte[],byte[]> data=connection.hGetAll(serializer.serialize(key)); result= new HashMap<>(); for (Map.Entry<byte[], byte[]> entry: data.entrySet()) { result.put(serializer.deserialize(entry.getKey()),serializer.deserialize(entry.getValue())); } return JsonUtil.json2Obj(JsonUtil.getJsonString(result),clz); } });
@Override public Map<HK, HV> entries(K key) { byte[] rawKey = rawKey(key); Map<byte[], byte[]> entries = execute(connection -> connection.hGetAll(rawKey), true); return entries != null ? deserializeHashMap(entries) : Collections.emptyMap(); }
@Override public T doInRedis(RedisConnection connection) throws DataAccessException { RedisSerializer<String> serializer = redisTemplate.getStringSerializer(); Map<String,Object> result; Map<byte[],byte[]> data=connection.hGetAll(serializer.serialize(key)); result= new HashMap<>(); for (Map.Entry<byte[], byte[]> entry: data.entrySet()) { result.put(serializer.deserialize(entry.getKey()),serializer.deserialize(entry.getValue())); } return JsonUtil.json2Obj(JsonUtil.getJsonString(result),clz); } });
@Nullable @Override public <T> T get(Object id, String keyspace, Class<T> type) { String stringId = asString(id); String stringKeyspace = asString(keyspace); byte[] binId = createKey(stringKeyspace, stringId); Map<byte[], byte[]> raw = redisOps .execute((RedisCallback<Map<byte[], byte[]>>) connection -> connection.hGetAll(binId)); RedisData data = new RedisData(raw); data.setId(stringId); data.setKeyspace(stringKeyspace); return readBackTimeToLiveIfSet(binId, converter.read(type, data)); }