jedis操作redis创建idea工程建立一个maven项目,导入jedis依赖即可:
<!-- 导入jedis依赖 --> <dependency> <groupid>redis.clients</groupid> <artifactid>jedis</artifactid> <version>3.2.0</version> </dependency>
导入依赖之后创建jedisdemo测试类package com.vleus.jedis;import redis.clients.jedis.jedis;/** * @author vleus * @date 2021年07月03日 23:52 */public class jedisdemo1 { public static void main(string[] args) { //创建jedis对象 jedis jedis = new jedis("192.168.37.139",6379); //测试jedis客户端是否能够连接上redis system.out.println(jedis.ping()); }}
输出pong表示连接成功~
注意:第一次测试时如果连接不上虚拟机的redis,报连接不上的异常有两个问题需要解决:
首先,kill掉redis的进程,然后修改reids的启动使用的配置文件
注释掉bind的配置;
同时将protected-mode的值改为no
第二步,关掉linux的防火墙(这里仅是在做学习时使用,生产环境别这么干)
systemctl stop firewalldsystemctl disable firewalld
反正我是这么解决的。
jedis操作redis1、创建idea springboot项目,引入依赖
<dependencies> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter</artifactid> </dependency> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-test</artifactid> <scope>test</scope> </dependency> <!-- spring-boot-redis --> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-data-redis</artifactid> </dependency> <!-- spring2.x继承redis需要commons-pool --> <dependency> <groupid>org.apache.commons</groupid> <artifactid>commons-pool2</artifactid> <version>2.6.2</version> </dependency> <dependency> <groupid>com.fasterxml.jackson.core</groupid> <artifactid>jackson-databind</artifactid> <version>2.8.3</version> </dependency> </dependencies>
2、创建redisconfig配置类
@enablecaching@configurationpublic class redisconfig { @bean public redistemplate<string, object> redistemplate(redisconnectionfactory factory) { redistemplate<string, object> template = new redistemplate<>(); redisserializer<string> redisserializer = new stringredisserializer(); jackson2jsonredisserializer jackson2jsonredisserializer = new jackson2jsonredisserializer(object.class); objectmapper om = new objectmapper(); om.setvisibility(propertyaccessor.all, jsonautodetect.visibility.any); om.enabledefaulttyping(objectmapper.defaulttyping.non_final); jackson2jsonredisserializer.setobjectmapper(om); template.setconnectionfactory(factory); //key序列化方式 template.setkeyserializer(redisserializer); //value序列化 template.setvalueserializer(jackson2jsonredisserializer); //value hashmap序列化 template.sethashvalueserializer(jackson2jsonredisserializer); return template; } @bean public cachemanager cachemanager(redisconnectionfactory factory) { redisserializer<string> redisserializer = new stringredisserializer(); jackson2jsonredisserializer jackson2jsonredisserializer = new jackson2jsonredisserializer(object.class); //解决查询缓存转换异常的问题 objectmapper om = new objectmapper(); om.setvisibility(propertyaccessor.all, jsonautodetect.visibility.any); om.enabledefaulttyping(objectmapper.defaulttyping.non_final); jackson2jsonredisserializer.setobjectmapper(om); // 配置序列化(解决乱码的问题),过期时间600秒 rediscacheconfiguration config = rediscacheconfiguration.defaultcacheconfig() .entryttl(duration.ofseconds(600)) .serializekeyswith(redisserializationcontext.serializationpair.fromserializer(redisserializer)) .serializevalueswith(redisserializationcontext.serializationpair.fromserializer(jackson2jsonredisserializer)) .disablecachingnullvalues(); rediscachemanager cachemanager = rediscachemanager.builder(factory) .cachedefaults(config) .build(); return cachemanager; }}
简单的controller测试/** * @author vleus * @date 2021年07月04日 13:06 */@restcontroller@requestmapping(value = "/redistest")public class redistestcontroller { @resource private redistemplate redistemplate; @getmapping public string testredis() { //设置值到redis redistemplate.opsforvalue().set("name","jack"); //从redis中获取值 string name = (string) redistemplate.opsforvalue().get("name"); return name; }}
以上就是java操作redis的方式有哪些的详细内容。