packagecom.heaven.redis; import lombok.extern.slf4j.slf4j; importorg.JUnit.Jupiter.API.test; importorg.junit.runner.RunWith; importorg.spring framework.beans.factory.annotation.auto wired; importorg.spring framework.boot.test.context.springboottest; importorg.spring framework.data.redis.core.redis template; importorg.spring framework.data.redis.serializer.redis serializer; importorg.spring framework.data.redis.serializer.stringredisserializer; importorg.spring framework.test.context.JUnit4. spring runner; import redis.clients.jedis.jedis; importjava.util.HashMap; importjava.util.List; importjava.util.Map; importjava.util.Set;
@runwith(springrunner.class ) ) )。
@SpringBootTest
@ sl F4 jclassredisapplicationtests {
@Autowired
redis模板redis模板;
设置生成@TestvoidtestHash () key value的序列化策略
redisserializerstringserializer=newstringredisserializer (;
redis template.setkey serializer (字符串串行器;
redis template.setvalue serializer (字符串串行器;
redis template.sethashkeyserializer (字符串串行器);
redis template.sethashvalueserializer (字符串串行器);
String key='hash ';
Map map=new HashMap (;
map.put(f1,val1);
map.put('F2 )、' val2); 在混列结构中设置多个键值对(hmset )
redisTemplate.opsForHash ().putall(key,map ); 获取混列结构指定字段的值,设为单一的key(hget )
object F1=redis template.opsforhash ().get ) key,' f1 );
log.info('F1========'F1 ); 在散列结构中设置单个键值对(hset )
redisTemplate.opsForHash ().put ) key、' f3 '、' val3' );
object F3=redis template.opsforhash ().get ) key,' F3 );
log.info('F3========'F3 ); 确定是否包含混列结构中的字段(hexists ) () ) ) ) ) )。
booleanhaskey=redis template.opsforhash ().haskey(key,' f3 );
log.info (' has key===========' has key ); 获取混列结构中的所有键值对(hgetall ) ) )。
映射条目=redis template.opsforhash ().Entries(key ); for (地图. entry entry : entries.entryset () )。
log.info(entry.getkey () ) (======' entry.getValue ) );
//获取所有混列结构的所有密钥(hkeys )
setkeys=redis template.opsforhash ().keys ); for(stringkey1:keys ) {
log.info (' key1=================' keys );
获取混列结构中的所有值(hva ls )
list values=redis template.opsforhash ().values(key ); for (string value :值) {
log.info('value======='value );
可以获取由混列结构指定的key的value,成为多个key(hmget )
list list=redis template.opsforhash ().multiget(key,keys ); for(stringvalue2:list )
log.info (' value2========' value2);
}//如果有符合混列结构的密钥,则进行操作(hsetnx ) )。
boolean success=redis template.opsforhash (.putifabsent (key,' f3 ','6' );
log.info(succes=====) success ); 删除在混列结构中指定的密钥(hdel )
long delete=redis template.opsforhash ().delete(key,' f1 ',' f2 ' );
log.info (' delete==================' delete );
}
}