一、操作string 、list 、map 对象1、引入jar:jedis-2.1.0.jar 2、代码/** * @param args */ public static void main(String[] args) { //连接redis服务 Jedis jedis = new Jedis(192.168.88.15,6379); //密码验证-如果你没有设置redis密码可不验证即可使用
一、操作string 、list 、map 对象
1、引入jar:
jedis-2.1.0.jar
2、代码
/**
*
@param args
*/
public static void main(String[] args) {
//连接redis服务
Jedis jedis =
new Jedis("192.168.88.15",6379);
//密码验证-如果你没有设置redis密码可不验证即可使用相关命令
// jedis.auth("abcdefg");
//简单的key-value 存储
jedis.set("redis", "myredis");
System.
out.println(jedis.get("redis"));
//在原有值得基础上添加,如若之前没有该key,则导入该key
//之前已经设定了redis对应"myredis",此句执行便会使redis对应"myredisyourredis"
jedis.append("redis", "yourredis");
jedis.append("content", "rabbit");
//mset 是设置多个key-value值 参数(key1,value1,key2,value2,...,keyn,valuen)
//mget 是获取多个key所对应的value值 参数(key1,key2,key3,...,keyn) 返回的是个list
jedis.mset("name1","yangw","name2","demon","name3","elena");
System.
out.println(jedis.mget("name1","name2","name3"));
//map
Map
user = new HashMap();
user.put("name", "cd");
user.put("password", "123456");
//map存入redis
jedis.hmset("user", user);
//mapkey个数
System.out.println(String.format("len:%d", jedis.hlen("user")));
//map中的所有键值
System.out.println(String.format("keys: %s", jedis.hkeys("user") ));
//map中的所有value
System.out.println(String.format("values: %s", jedis.hvals("user") ));
//取出map中的name字段值
List rsmap = jedis.hmget("user", "name","password");
System.out.println(rsmap);
//删除map中的某一个键值 password
jedis.hdel("user", "password");
System.out.println(jedis.hmget("user", "name", "password"));
//list
jedis.del("listDemo");
System.out.println(jedis.lrange("listDemo", 0, -1));
jedis.lpush("listDemo", "A");
jedis.lpush("listDemo", "B");
jedis.lpush("listDemo", "C");
System.out.println(jedis.lrange("listDemo", 0, -1));
System.out.println(jedis.lrange("listDemo", 0, 1));
//set
jedis.sadd("sname", "wobby");
jedis.sadd("sname", "kings");
jedis.sadd("sname", "demon");
System.out.println(String.format("set num: %d", jedis.scard("sname")));
System.out.println(String.format("all members: %s", jedis.smembers("sname")));
System.out.println(String.format("is member: %B", jedis.sismember("sname", "wobby")));
System.out.println(String.format("rand member: %s", jedis.srandmember("sname")));
//删除一个对象
jedis.srem("sname", "demon");
System.out.println(String.format("all members: %s", jedis.smembers("sname")));
}
二、将自定义对象保存到redis中:
1、自定义pojo 实现Serializable 接口:
package cn.mingyuan.redis;
import java.io.Serializable;
/**
* 测试用pojo,实现了Serializable,以便进行系列化操作
*
* @author mingyuan
*
*/
public class Person implements Serializable {
private static final long serialVersionUID = -3562550857760039655L;
private String name;
private int age;
public Person(){}
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
}
2、测试类:
package cn.mingyuan.redis;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import redis.clients.jedis.Jedis;
public class Test {
/**
* @param args
* @throws IOException
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws IOException,
ClassNotFoundException {
// Jedis redis = new Jedis("192.168.88.15");
Jedis redis = new Jedis("192.168.88.15", 6379);
// connect可以不要,因为在执行set操作的时候会先进行判断客户端是否于服务器端建立了连接,若无,则启动连接过程
redis.connect();
String set = redis.set("mingyuan", "1");
System.out.println(" set result \t" + set);
redis.incr("mingyuan");
String string = redis.get("mingyuan");
System.out.println(" get result of key 'mingyuan' \t" + string);
// 下面是对对象进行存储的测试代码
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
Person person = new Person("liudehua" ,22);
oos.writeObject(person);
byte[] byteArray = bos.toByteArray();
oos.close();
bos.close();
String setObjectRet = redis.set("mingyuan".getBytes(), byteArray);
System.out.println(" set object return \t" + setObjectRet);
byte[] bs = redis.get("mingyuan".getBytes());
ByteArrayInputStream bis = new ByteArrayInputStream(bs);
ObjectInputStream inputStream = new ObjectInputStream(bis);
Person readObject = (Person) inputStream.readObject();
System.out.println(" read object \t" + readObject.toString());
inputStream.close();
bis.close();
redis.disconnect();
}
}
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn