如何使用Java在Redis中缓存JSON数据

杰雷迪森是一个用于RedisJSON的Java客户端库。该客户端提供对RedisJSON的RedisAPI的访问,并提供Java及其对象之间的来回序列化。该客户机目前支持核心RedisJSON命令。

按照以下步骤开始使用RedisJSON和Java:

第一步。运行RedisMod Docker容器#

这个简单的容器映像将Redis的最新稳定版本捆绑在一起,并从Redis实验室中选择Redis模块。

docker run-d-p 6379 :6379 redislabs/redismod:最新版本

第二步。克隆存储库#

吉特 克隆https://github.com/RedisJSON/JRedisJSON

第三步。安装Maven#

如果您已经安装了Maven,那么它将显示Maven 3.8.1已经安装并且是最新的。如果不是,则运行以下命令:

酿造 安装 mvn

第四步。创建一个文件#

复制以下内容并保存文件名redisdeveloper.java

进口 雷迪斯 . 客户 . 绝地武士 . 绝地 ;
进口 通用域名格式 . 再实验室 . 模块 . 雷杰森 . 杰里克森 ;
//先接通
杰里克森 客户 = 刚出现的 杰里克森 ( “本地主机” , 6379 ) ;
//将Redis键名\u foo\uu设置为字符串u“bar”\uu,并将其读回
客户 . 设置 ( “福” , “酒吧” ) ;
一串 s0 = ( 一串 ) 客户 . 收到 ( “福” ) ;
//省略路径(通常)默认为根路径,因此上面的调用
//`get()`和下面的//基本上是可以互换的
一串 s1 = ( 一串 ) 客户 . 收到 ( “福” , 刚出现的 路径 ( "." ) ) ;
一串 s2 = ( 一串 ) 客户 . 收到 ( “福” , 路径 . 根路径 ) ;
//可设置和更新任何Gson对象
客户 . 设置 ( “obj” , 刚出现的 对象 ( ) ) ; //只是一个空物体
客户 . 设置 ( “obj” , 无效的 , 刚出现的 路径 ( “.zilch” ) ) ;
路径 P = 刚出现的 路径 ( “什么?” ) ;
客户 . 设置 ( “obj” , 符合事实的 , P ) ;
客户 . 设置 ( “obj” , 42 , P ) ;
客户 . 德尔 ( “obj” , P ) ; //几乎一事无成

第五步。运行maven可执行文件#

使用“clean”命令删除项目中所有以前编译的Java.class文件和资源(如.properties)。让您的构建从头开始。此外,您还可以通过“install”让它编译、测试和打包您的Java项目,甚至可以将您的build.jar/.war文件安装/复制到本地Maven存储库中。

清理 安装 -Dmaven.test.skip = 符合事实的
1628854852.903490[0 172.17.0.1:60194]“JSON.SET”“obj”“{\'str\':\'string\',\'bTrue\':true}”
1628854852.905266[0 172.17.0.1:60194]“JSON.GET”“obj”“bTrue”“str”
1628854852.909629[0 172.17.0.1:60198]“FLUSHDB”
1628854852.911907[0 172.17.0.1:60202]“JSON.SET”“foobar”“{\'foo\:\'bar\”
1628854852.913345[0 172.17.0.1:60202]“JSON。键入”“foobar”“。foo[1]”
1628854852.918301[0 172.17.0.1:60206]“FLUSHDB”
1628854852.920702[0 172.17.0.1:60210]“JSON.SET”“obj”“{\'str\':\'string\',\'bTrue\':true}”
1628854852.922083[0 172.17.0.1:60210]“JSON.SET”“obj”“。none”“\”扼杀\”XX”
1628854852.926862[0 172.17.0.1:60214]“FLUSHDB”
1628854852.930541[0 172.17.0.1:60218]“JSON.SET”“test”“foo”
1628854852.932374[0 172.17.0.1:60218]“JSON.GET”“test”“.bar”
1628854852.937640[0 172.17.0.1:60222]“FLUSHDB”
1628854852.940467[0 172.17.0.1:60226]“JSON.SET”“obj”“{\'str\':\'string\',\'bTrue\':true}”
1628854852.941928[0 172.17.0.1:60226]“JSON.SET”“obj”“。none”“\”扼杀\”NX”
1628854852.943441[0 172.17.0.1:60226]“JSON.GET”“obj”“。无”

工具书类#

Baidu