java连接redis
需要先引入jar包依赖
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.0</version>
</dependency>
</dependencies>
然后写代码的连接
写的是 字符串类型的
//1.获取连接对象
Jedis jedis=new Jedis("192.168.223.128",6379); //默认连接的为localhost 端口号为6379
//2.操作redis数据库 -----String类型
jedis.set("k1","v1");
jedis.set("k2","2");
jedis.setnx("k1","v3");
jedis.mset("k3","v3","k4","v4");
List<String> mget = jedis.mget("k1", "k2");
System.out.println(mget);
Hash类型的
//3.操作hash类型
Map<String,String> map=new HashMap<>();
map.put("name","闫克起");
map.put("age","17");
map.put("sex","男");
jedis.hset("k1",map);
Map<String, String> k1 = jedis.hgetAll("k1");
System.out.println(k1);
springboot整合redis
jar包依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
操作的字符串类型
@Autowired
private StringRedisTemplate stringRedisTemplate;//存放的数据格式为string类型
@Test
void contextLoads() {
//使用ValueOperations -----操作的为字符串类型
ValueOperations<String, String> ops = stringRedisTemplate.opsForValue();
ops.set("k1","springboot-v1");
System.out.println(ops.get("k1"));
hash类型
HashOperations<String, Object, Object> hash = stringRedisTemplate.opsForHash();
hash.put("k1","name","赵露露");
hash.put("k1","age","18");
Object o = hash.get("k1", "name");
System.out.println(hash.keys("k1"));
RedisTemplate
它的key和value可以存放Object类型,那么它的key和value默认采用的序列化方式为JDK序列化方式。一般我们需要为key和value指定序列化方式。
@Autowired
private RedisTemplate redisTemplate;
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(new StringRedisSerializer());
HashOperations hash = redisTemplate.opsForHash();
hash.put("u","n","崔梦");
hash.put("u","a","25");