Redis 中 byte格式 写入、取出

摘要:
实体类:packagecom.nf.redisDemo1.Entity;importjava.io。可串行化;publicclassNews实现可串行化的{privatelongid;privateStringtitle;privateString主体;publicNews(){}publicNews(Stringtitle,Stringbody)

实体类:

package com.nf.redisDemo1.entity;


import java.io.Serializable;


public class News implements Serializable {

    private long id;
    private String title;
    private String body;

    public News() {
    }

    public News(String title, String body) {
        this.title = title;
        this.body = body;
    }

    public long getId() {
        return id;
    }

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

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

}

操作代码:

package com.nf.redisDemo1;


import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.nf.redisDemo1.entity.News;
import com.nf.redisDemo1.service.NewsService;
import com.nf.redisDemo1.service.imp.NewsServiceImp;
import com.nf.redisDemo1.spring.SpringRootConfig;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import redis.clients.jedis.Jedis;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args) throws IOException, ClassNotFoundException {

        Jedis jedis = new Jedis();
        String key = "listNews";

        // Byte 写入 Redis
        List<News> news = new ArrayList<>();
        news.add(new News("title1","body1"));
        news.add(new News("title2","body2"));
        news.add(new News("title3","body3"));

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ObjectOutputStream oos = new ObjectOutputStream(baos);
        oos.writeObject(news);

        //写入 Redis
        jedis.set(key.getBytes(), baos.toByteArray());
        //关闭流
        oos.close();

        // 读取 Byte格式 存入的数据
        ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(jedis.get(key.getBytes()));
        ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);
        List<News> o = (List<News>) objectInputStream.readObject();

        System.out.println(o);

    }
}

学无止境(LC)

免责声明:文章转载自《Redis 中 byte格式 写入、取出》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python科学计算_numpy_线性代数/掩码数组/内存映射数组转:C#操作摄像头下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Redis——redis使用redis-dump,redis-load导出导入数据——【三】

来源 https://www.cnblogs.com/dadonggg/p/8662455.html https://blog.csdn.net/chenxinchongcn/article/details/78666374 安装过程 安装ruby 安装redis-dump之前首先需要安装ruby $ yum install ruby rubygems...

导出 Excel 模板自动生成规则,避免用户反复修改

一句话总结 Excel 导出、导入时,根据注解自动添加单元格验证规则,避免用户因填写错误的枚举字段而反复修改 Excel 需求背景 对于 Java Web 项目,总是不可避免的出现 Excel 导入、导出的需求,而 Excel 导入导出时,枚举字段和枚举值的映射是非常常见的一种情况 例如:下面这张示例中的性别列 数据库表结构: Excel 中用户需要输入...

Android 路由框架ARouter最佳实践

一:什么是路由? 说简单点就是映射页面跳转关系的,当然它也包含跳转相关的一切功能。 二:为什么需要路由 Android系统已经给我们提供了api来做页面跳转,比如startActivity,为什么还需要路由框架呢?我们来简单分析下路由框架存在的意义: 在一些复杂的业务场景下(比如电商),灵活性比较强,很多功能都是运营人员动态配置的,比如下发一个活动页面...

C#解析json的两种方式

    C#中Json转换主要使用的几种方法! 这篇主要介绍2、4。第三种方法使用的比较局限,所以我没有深入学习。 第二种方法   我使用比较多的方式,这个方法是.NET内置的,使用起来比较方便 A、利用serializer获取json的泛型对象 利用Dictionary<string,object>接收转换完的json对象,然后用查询泛型...

smali 语言语法

Androidkiller 可以反编译Android的apk,生成一种.smali代码。(这理解好像不对) 网上找了一篇smali的语法手册,可以方便查找,文章名《Smali文件语法参考》 手册地址:http://blog.csdn.net/litton_van/article/details/7843490 网上有一篇smali的语法讲解(java与sm...

c++ string 的函数replace()用法

basic_string::replace 将原string 中的元素或子串替换。返回替换后的string。 (1)用string 或C-string 代替操作string 中从 _Pos1 开始的 _Num1 个字符 basic _ string& replace( size _ type _Pos1 ,size _ type _Num1 ,...