redis操作string 、list 、map 对象
来源:互联网 发布:用友数据库在哪里 编辑:程序博客网 时间:2024/05/21 23:00
一、操作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<String,String> user = new HashMap<String,String>();
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<String> 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();
}
}原文: http://blog.csdn.net/liushu_it/article/details/43194771
http://www.cnblogs.com/liuling/p/2014-4-19-04.html
http://blog.csdn.net/u013142781
阅读全文
0 0
- redis操作string 、list 、map 对象
- 【redis,1】java操作redis: 将string、list、map、自定义的对象保存到redis中
- java操作redis: 将string、list、map、自定义的对象保存到redis中
- java操作redis: 将string、list、map、自定义的对象保存到redis中
- java操作redis: 将string、list、map、自定义的对象保存到redis中
- redis jedis存储对象简单操作,map list 自定义对象
- Redis存储List<Map<String, Object>>
- redis的API对String、object、List、Map、Hash常用操作
- redis Jedis存取list对象和map
- freemarker循环Map<String,List<User>>对象
- Redis操作 hash sort String sorted_set list help @String @list
- java使用redis缓存(String,bean,list,map)
- redis缓存(jedis), 链接,存,取,String,map,对象
- jeecg后台List<Map<String,Object>>对象前台easyui展现
- List<Map<String, Object>>
- List<? extends Map<String, ?>>
- List<Map<String, Object>>
- List<? extends Map<String, ?>>
- SSH-sshd_config配置文件详解-xShell连接Linux服务器提示密码错误。
- 解决linux下tomcat的shutdown命令杀不死进程
- Android智能下拉刷新框架—SmartRefreshLayout的使用
- 【4】计算机是怎样跑起来的
- 最新xCode9.1 iOS整合Unity swift4.0+Unity5.4
- redis操作string 、list 、map 对象
- android studio 签名遇到的坑(apk无法安装,安装后闪退)
- Spring Cloud学习--服务网关(Zuul)
- Spring 中的事务
- 如何修复和解决问题?
- Spring boot 使用YML文件配置多环境
- QT代码补全
- 自适应布局---高度问题
- 10.JMS消息模式(队列模式和主题模式)