java在reids中存取String、List、Map、对象(jar免积分下载)

java程序连接redis需要一个jar包主要是连接redis的驱动包在下面我会为大家提供这个jar(免积分下载)

jedis-2.6.1.jar (点击打开链接

package redis;


import java.util.HashMap;
import java.util.Map;


import pojo.User;


import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisShardInfo;
import util.SerializationUtil;


public class Csdn {
	public static void main(String[] args) {
		//获取redis的连接(就像连接数据库一样)IP:127.0.0.1 端口:6379
		Jedis jedis = new Jedis(new JedisShardInfo("127.0.0.1", 6379));
		//存储String(String是最简单的非常像我们平时存取Map一样)
		jedis.set("keyStr", "valueStr");
		//获取String值
		jedis.get("keyStr");
		
		//存储list(list比String稍稍复杂一点点 listaa是你要存储的List集合名 后面的是需要存储的数据 需要注意的是下标是倒序的先存放的在后面最后的在前面)
		jedis.lpush("listxx", "value1", "value2","可以跟多个");
		//取出list中存放的信息  listaa是你要存储的List集合名 0 和 -1 表示全部取出以此类推第一个是开始位置的下标第二个是结束为止的下标
		System.out.println(jedis.lrange("listxx", 0, -1));
		System.out.println("list集合的长度 :"+  jedis.llen("listxx"));
		
		
		//创建一个map(下面的命令都是以h开头的是因为redis存放的是hashMap就像上面list的操作方法都是以l开头的一样)
		Map<String, String> map = new HashMap<String, String>();
        map.put("name1", "美美");
        map.put("name2", "天天");
        map.put("name3", "婧婧");
        // 存入一个map
        jedis.hmset("user", map);
        // map key的个数
        System.out.println("map的key的个数" + jedis.hlen("user"));
        // map key
        System.out.println("map的key" + jedis.hkeys("user"));
        // map value
        System.out.println("map的value" + jedis.hvals("user"));
        // 删除map中的字段
        jedis.hdel("user","name1");
        System.out.println("map的key" + jedis.hkeys("user"));
        
        //对象(对象就要用到序列化其实就是把对象转化成流的过程 User类要实现一个接口Serializable )
        User user = new User();
        user.setId(123);
        user.setName("美美");
        
        // 存入一个 对象
        byte[] userkey = "userkey".getBytes();
        jedis.set(userkey, SerializationUtil.serialize(user));
        // 获取
        byte[] bs = jedis.get(userkey);
        User desUser = (User) SerializationUtil.deserialize(bs);
        System.out.println(desUser.getId() + ":" + desUser.getName());
        
        //set url="baidu";
	}


}

pojo类(实体类)

package pojo;

import java.io.Serializable;

public class User implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = -3285671668731446152L;

	private Integer id;
    private String name;

    
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}
util类

package util;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class SerializationUtil {

	/**
     * 序列化
     * 
     * @param object
     * @return
     */
    public static byte[] serialize(Object object) {
        ObjectOutputStream oos = null;
        ByteArrayOutputStream baos = null;
        try {
            baos = new ByteArrayOutputStream();
            oos = new ObjectOutputStream(baos);
            oos.writeObject(object);
            byte[] bytes = baos.toByteArray();
            return bytes;
        } catch (Exception e) {
        }
        return null;
    }
    /**
     * 反序列化
     * 
     * @param bytes
     * @return
     */
    public static Object deserialize(byte[] bytes) {
        ByteArrayInputStream bais = null;
        try {
            bais = new ByteArrayInputStream(bytes);
            ObjectInputStream ois = new ObjectInputStream(bais);
            return ois.readObject();
        } catch (Exception e) {

        }
        return null;
    }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值