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")
  6. // 获取名称为news的Redis Cache对象
  7. val newsCache = Redis.use("news")
  8. newsCache["k"] = "v"
  9. newsCache.get<Any>("k")
  10. // 最先创建的Cache将成为主Cache,所以可以省去cacheName参数来获取
  11. bbsCache = Redis.use() // 主缓存可以省去cacheName参数
  12. bbsCache!!["cloudopt"] = "awesome"
  13. }
  1. public void redisDemo() {
  2. // 获取名称为bbs的Redis Cache对象
  3. Cache bbsCache = Redis.use("bbs");
  4. bbsCache.set("key", "value");
  5. bbsCache.get("key");
  6. // 获取名称为news的Redis Cache对象
  7. Cache newsCache = Redis.use("news");
  8. newsCache.set("k", "v");
  9. newsCache.get("k");
  10. // 最先创建的Cache将成为主Cache,所以可以省去cacheName参数来获取
  11. bbsCache = Redis.use(); // 主缓存可以省去cacheName参数
  12. bbsCache.set("cloudopt", "awesome");
  13. }