猿问
下载APP

Java中的vector可以存到redis中吗

Java中的vector可以存到redis中吗


绝地无双
浏览 158回答 1
1回答

慕少1208348

一、操作string 、list 、map 对象1、引入jar:jedis-2.1.0.jar2、代码/*** @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) 返回的是个listjedis.mset("name1","yangw","name2","demon","name3","elena");System.out.println(jedis.mget("name1","name2","name3"));//mapMap<String,String> user = new HashMap<String,String>();user.put("name", "cd");user.put("password", "123456");//map存入redisjedis.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中的所有valueSystem.out.println(String.format("values: %s", jedis.hvals("user") ));//取出map中的name字段值List<String> rsmap = jedis.hmget("user", "name","password");System.out.println(rsmap);//删除map中的某一个键值 passwordjedis.hdel("user", "password");System.out.println(jedis.hmget("user", "name", "password"));//listjedis.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));//setjedis.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;}@Overridepublic 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();}}
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答