cloudopt-next-redis,是移植于 JFinal 的RedisPlugin,使用 RedisPlugin 可以极度方便的使用redis,该插件不仅提供了丰富的API,而且还同时支持多 redis 服务端。Redis 拥有超高的性能,丰富的数据结构,天然支持数据持久化,是目前应用非常广泛的 nosql 数据库。对于 redis 的有效应用可极大提升系统性能,节省硬件成本。

在使用前请先自行引用相应的依赖。请自行添加版本号。

1. <dependency>
2. <groupId>net.cloudopt.next</groupId>
3. <artifactId>cloudopt-next-redis</artifactId>
4. </dependency>

配置

cloudopt-next-redis同样支持自动读取配置文件。

1. {
2. "redis": {
3. "host": "localhost",
4. "port": 6379,
5. "timeout": 3000,
6. "password": "",
7. "database": 0
8. }
9. }

所有参数都不是必须填写的,默认的 host 为 localhost,端口为 6379。

启动

在配置完成后您需要在服务器启动前启动插件。

1. fun main(args: Array<String>) {
2. CloudoptServer.addPlugin(RedisPlugin())
3. CloudoptServer.run(TestCase::class)
4. }
1. fun main(args: Array<String>) {
2. CloudoptServer.addPlugin(RedisPlugin());
3. CloudoptServer.run(TestCase.class);
4. }

Cache

Redis与Cache联合起来可以非常方便地使用Redis服务,Redis对象通过use()方法来获取到Cache对象,Cache对象提供了丰富的API用于使用Redis服务,下面是具体使用示例:

1. fun redisDemo() {
2. // 获取名称为bbs的Redis Cache对象
3. var bbsCache: Cache? = Redis.use("bbs")
4. bbsCache!!["key"] = "value"
5. bbsCache.get<Any>("key")

7. // 获取名称为news的Redis Cache对象
8. val newsCache = Redis.use("news")
9. newsCache["k"] = "v"
10. newsCache.get<Any>("k")

12. // 最先创建的Cache将成为主Cache,所以可以省去cacheName参数来获取
13. bbsCache = Redis.use()    // 主缓存可以省去cacheName参数
14. bbsCache!!["cloudopt"] = "awesome"
15. }
1. public void redisDemo() {
2. // 获取名称为bbs的Redis Cache对象
3. Cache bbsCache = Redis.use("bbs");
4. bbsCache.set("key", "value");
5. bbsCache.get("key");

7. // 获取名称为news的Redis Cache对象
8. Cache newsCache = Redis.use("news");
9. newsCache.set("k", "v");
10. newsCache.get("k");

12. // 最先创建的Cache将成为主Cache,所以可以省去cacheName参数来获取
13. bbsCache = Redis.use();    // 主缓存可以省去cacheName参数
14. bbsCache.set("cloudopt", "awesome");
15. }