java 中redis 如何使用?

Python011

java 中redis 如何使用?,第1张

这是我之前写的代代码,可以参考一下:

import java.util.Set

import com.google.gson.Gson

import redis.clients.jedis.Jedis

import redis.clients.jedis.JedisPool

import redis.clients.jedis.JedisPoolConfig

public class App {

public static void main(String[] args) {

JedisPoolConfig config = new JedisPoolConfig()

config.setMaxIdle(5)

config.setMaxWaitMillis(10000)

config.setTestOnBorrow(false)

JedisPool jedisPool = new JedisPool(config, "127.0.0.1", 6379)

Jedis jedis = jedisPool.getResource()

jedis.flushDB()

jedis.set("name", "Tom")

User user = new User(1, "Tom", "User")

Gson gson = new Gson()

String json = gson.toJson(user)

jedis.set("user1", json)

Set<String> keys = jedis.keys("*")

for (String key : keys) {

System.out.println(key)

}

}

}

如果有疑问,可以随时追问。

Java连接redis的使用示例

Redis是开源的key-value存储工具,redis通常用来存储结构化的数据,因为redis的key可以包含String、hash、listset和sorted list。

Redisclient支持多种语言,包括:c、C++、C#、php、java、python、go等语言,根据自己的开发语言,选择合适的redis client版本类型即可。我是使用java语言开发的,针对java语言,redis client也提供了多种客户端支持,按照推荐类型依次是:Jedis、Redisson、JRedis、JDBC-Redis、RJC、redis-protocol、aredis、lettuce。前两种类型是比较推荐的,我们采用了Redisson类型版本作为redisclient的使用。

Redisson版的redis可发工程搭建

1.新建maven工程

2.在pom.xml文件的dependencies节点下增加如下内容:

<dependency>

<groupId>org.redisson</groupId>

<artifactId>redisson</artifactId>

<version>1.0.2</version>

</dependency>

<dependency>

<groupId>org.slf4j</groupId>

<artifactId>slf4j-log4j12</artifactId>

<version>1.7.7</version>

</dependency>

3.保存pom.xml后,等eclispe工程构建完成后即可进行开发了

开发示例

下面是演示连接redis服务器、保存读取concurrentMap对象、保存读取set对象和保存读取Queue对象的示例代码,代码比较简单,这里就不再详细讲解了,代码如下:

[java] view plaincopy

package com.my.test.redis

import java.util.Queue

import java.util.Set

import java.util.concurrent.ConcurrentMap

import org.redisson.Config

import org.redisson.Redisson

public class RedisExample {

/**

* @param args

*/

public static void main(String[] args) {

// 1.初始化

Config config = new Config()

config.setConnectionPoolSize(10)

config.addAddress("127.0.0.1:6379")

Redisson redisson = Redisson.create(config)

System.out.println("reids连接成功...")

// 2.测试concurrentMap,put方法的时候就会同步到redis中

ConcurrentMap<String, Object>map = redisson.getMap("FirstMap")

map.put("wuguowei", "男")

map.put("zhangsan", "nan")

map.put("lisi", "女")

ConcurrentMap resultMap = redisson.getMap("FirstMap")

System.out.println("resultMap==" + resultMap.keySet())

// 2.测试Set集合

Set mySet = redisson.getSet("MySet")

mySet.add("wuguowei")

mySet.add("lisi")

Set resultSet = redisson.getSet("MySet")

System.out.println("resultSet===" + resultSet.size())

//3.测试Queue队列

Queue myQueue = redisson.getQueue("FirstQueue")

myQueue.add("wuguowei")

myQueue.add("lili")

myQueue.add("zhangsan")

myQueue.peek()

myQueue.poll()

Queue resultQueue=redisson.getQueue("FirstQueue")

System.out.println("resultQueue==="+resultQueue)

// 关闭连接

redisson.shutdown()

}

}

错误很明显是空指针异常,点个debug运行,跟踪一下,一遍就能找出是哪个为空。redisDao.getInfo("totalPage")这句为空的话,很大可能是redisDao 是null,可以跟踪代码看一下,是不是没有实例化这个对象。