永发信息网

redis 如何 把文件的内容 存进去

答案:1  悬赏:80  手机版
解决时间 2021-03-02 19:46
redis 如何 把文件的内容 存进去
最佳答案
最近学习下redis,作为一个高性能的k/v数据库,如果数据不用swap的话,redis的性能是无以伦比的。最近在做一个系统附件的缓存,试着把附件放到redis试试,写了个保存文件的方法。public class TestRedis{
Jedis redis = new Jedis("localhost");
//序列化方法
public byte[] object2Bytes(Object value) {
if (value == null)
return null;
ByteArrayOutputStream arrayOutputStream = new ByteArrayOutputStream();
ObjectOutputStream outputStream;
try {
outputStream = new ObjectOutputStream(arrayOutputStream);
outputStream.writeObject(value);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
arrayOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return arrayOutputStream.toByteArray();
}
//反序列化方法
public Object byte2Object(byte[] bytes) {
if (bytes == null || bytes.length == 0)
return null;
try {
ObjectInputStream inputStream;
inputStream = new ObjectInputStream(new ByteArrayInputStream(bytes));
Object obj = inputStream.readObject();
return obj;
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
//保存文件方法
public void setFile(String key,String path){

File fr = new File(path);
redis.set(key.getBytes(), object2Bytes(fr));
}
//读取文件对象方法
public File getFile(String key){
Jedis redis = new Jedis("localhost");
File file = (File)byte2Object(redis.get(key.getBytes()));
return file;
}

public void testFile(String key,String path)throws Exception{
setFile("test", "D:\\test.txt");
File file = getFile("test");
BufferedReader br = new BufferedReader(new FileReader(file));
String record = null;
while ((record = br.readLine()) != null) {
System.out.println("record:"+record);
}

}

public static void main(String[] args) throws Exception{
TestRedisos = new TestRedis();
os.testFile("test", "D:\\test.txt");
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
帮我取个 笔名,唯美,伤感一点的。
浙东小九寨售票处地址有知道的么?有点事想过
韩启德是什么级别的
和一个女孩子出去玩,我是个内向的人和她出去
秀洲花园二区北门(人行门)怎么去啊,有知道地
e百分教育教学质量怎么样?
比较√5/12+√1/5与√1/3+√2
怎样才能改正小学生学习不认真的习惯?怎样才
洪湖府场孟记家电这个地址在什么地方,我要处
女人为什么从不联系和自己特别熟亲密的男人反
周伟五金工具地址在什么地方,想过去办事
|监控录像机连接笔记本电脑的线叫什么线
私人公我自己修的路可以阻止别人通行
脱她裤子时候她不给脱,等我用力脱下来的时候
韩国的花样男子花了多少钱拍摄啊?
推荐资讯
浏河出口地址在什么地方,想过去办事
二刘刘熟肉店地址在什么地方,想过去办事
冰箱制冷剂r600a加少了,怎么再补加
宝宝鸡年缺木取名用韬然好吗
Φ84高压管道公称直径是多少
”心中有数“还可以写成( ) ”全神贯注“的
渝味重庆小面柯桥店地址有知道的么?有点事想
哪些光伏原材料进口的最多
约克空调我想知道这个在什么地方
想学广场舞伤不起的点步跳法,视频上的步骤太
绛县青少年活动中心怎么去啊,有知道地址的么
级别怎么用英语说
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?