`

学习redis应用于缓存

    博客分类:
  • java
阅读更多

 

学习redis应用于缓存

 

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
import redis.clients.jedis.Jedis;

public class Simple3 {

 public static void main(String[] args) {
  
  //连接服务端
  isServerRunning();
  Jedis client = getConnection();
  
  //user表:key-hashmap
  client.hset("user:zhangsan", "query", "1");
  List<String> list = new ArrayList<String>();
  list.add("a");
  list.add("b");
  
  byte[] buf = serilizable(list);
  
  long index = 1;
  //client.lpush("dat:zhangsan:query", "a");
  //dat表:key-list
  client.lpush("dat:zhangsan:query".getBytes(), buf); //写入list
  boolean exists = client.hexists("user:zhangsan", "query");
  if(exists){
   String userVal = client.hget("user:zhangsan", "query");
   System.out.println("userVal = " + userVal);
  }
  
  //client.lpop("dat:zhangsan:query");          //读取
  //client.ltrim("dat:zhangsan:query", -1, 0);  //删除
  
  exists = client.exists("dat:zhangsan:query");
  if(exists){
   //String lVal = client.lindex("dat:zhangsan:query", 1);
   byte[] lVal = client.lpop("dat:zhangsan:query".getBytes());
   Object o = unserilizable(lVal);
   List<String> lo = (List<String>)o;
   System.out.println("lVal = " + lo.get(0));
  }
  client.close();
 }

 //ping
 private static void isServerRunning(){
  String host = "127.0.0.1";
       Jedis jedis = new Jedis(host, 6379);
       System.out.println("Connection to server sucessfully");
       System.out.println("Server is running: "+jedis.ping());
 }
 
 static Jedis getConnection(){
  String host = "127.0.0.1";
       Jedis client = new Jedis(host, 6379);
     return client;
 }
 
 static byte[] serilizable(Object o){
  ByteArrayOutputStream bos = new ByteArrayOutputStream();
  ObjectOutputStream os = null;
  try {
   os = new ObjectOutputStream(bos);
   os.writeObject(o);
   return bos.toByteArray();
  } catch (IOException e) {
   e.printStackTrace();
  }finally{
   try {
    os.close();
    bos.close();
   } catch (IOException e) {
    e.printStackTrace();
   }
  }
  return null;
 }
 
 static Object unserilizable(byte[] buf){
  ByteArrayInputStream bis = new ByteArrayInputStream(buf);
  ObjectInputStream os = null;
  try {
   os = new ObjectInputStream(bis);
   Object o = os.readObject();
   return o;
  } catch (IOException e) {
   e.printStackTrace();
  } catch(ClassNotFoundException e){
   e.printStackTrace();
  }
  finally{
   try {
    os.close();
    bis.close();
   } catch (IOException e) {
    e.printStackTrace();
   }
  }
  return null;
 }
 
}

分享到:
评论

相关推荐

    Redis高性能缓存.pdf

    在应用场景方面,Redis适用于对读写效率要求都很高的场景,比如微博发布和计数系统。同时,它也适合那些数据处理业务复杂,对安全性要求较高的系统。由于其支持丰富的数据类型,Redis可以在服务器端直接进行复杂的...

    redis多级缓存搭建资料

    Redis作为一款高性能的键值数据库,常被用作应用程序的缓存系统,以提高数据读取速度。在大型系统中,构建多级缓存架构是常见的优化策略,它能够更...通过学习提供的资料,你将能深入理解并实践Redis多级缓存的搭建。

    mybatis+redis实现二级缓存

    开发者可以通过阅读和运行这个项目,来理解和学习如何在实际项目中实现MyBatis和Redis的二级缓存功能。 总结来说,"mybatis+redis实现二级缓存"项目展示了如何利用Redis的高性能缓存特性增强MyBatis的二级缓存,...

    c#使用Redis缓存

    在IT行业中,Redis被广泛用作高性能的内存数据存储,尤其适用于实现缓存功能。C#作为.NET框架的主要编程语言,提供了多种方式来利用Redis的强大功能。本文将深入探讨如何在C#应用中使用Redis缓存,以提高系统性能和...

    redis缓存分享,包含redis和redis测试的项目test

    而示例代码可能展示了如何在应用程序中集成Redis,使用各种数据类型和命令进行操作。 总结来说,这个分享内容涵盖了Redis的基础知识、作为缓存的使用方法以及测试实践,旨在帮助读者理解和掌握如何在实际项目中有效...

    最全面的Redis应用代码

    这个压缩包文件包含的"最全面的Redis应用代码"为学习者提供了丰富的资源,涵盖了Redis的多种应用场景和实现方式。让我们深入探讨Redis的基础知识、主要特性和常见应用场景。 1. Redis基础概念: - Redis是Remote ...

    springboot-redis缓存+分布锁

    总的来说,"springboot-redis缓存+分布锁"项目是学习如何在SpringBoot应用中使用Redis进行缓存管理和实现分布式锁的绝佳实践。通过这个项目,你可以深入了解SpringBoot的集成特性,以及Redis在高并发场景下的重要...

    基于Redis的共享缓存分析-收藏学习.pdf

    为了应对这些挑战,应用层缓存技术应运而生,特别是Redis作为一款高性能的键值存储系统,成为了实现服务间数据共享的理想选择。本文旨在探讨如何利用Redis构建有效的共享缓存解决方案,以解决微服务架构下的数据冗余...

    SSM整合Redis缓存Demo

    通过SSMRedisDemo,开发者可以学习如何在实际项目中整合和使用这些技术,提升应用性能,同时理解缓存机制和SSM框架之间的协同工作方式。对于初学者,这是一个很好的学习资源,对于有经验的开发者,它也是一个快速...

    redis缓存的示例代码

    - 通过阅读和理解这些代码,你可以学习到如何在实际项目中使用Redis作为缓存。 总的来说,Redis作为缓存在Spring Boot项目中的应用,可以提高系统的响应速度,降低数据库的压力。正确配置和使用Redis缓存,是提升...

    基于Redis缓存商城分类以及商品信息Demo

    通过学习和理解这个基于Redis的缓存Demo,我们可以更好地应用缓存技术,优化电商系统性能,提高用户体验。在实际项目中,还需要考虑如何根据业务需求进行缓存设计,以及如何处理与数据库的交互,确保系统的稳定性和...

    Redis缓存数据库技术

    Redis,全称Remote Dictionary Server,是一款开源的、高性能的键值对存储系统,常被用作数据库、缓存和消息中间件。它支持多种数据结构,如字符串、哈希...通过学习和实践Redis,开发者可以提升应用的性能和用户体验。

    redis缓存安装包和教案

    本资源包含Redis缓存的安装包以及相关学习教程,特别是关于Redis持久化方式的教案,对于想要深入理解和应用Redis的开发者来说,是一份宝贵的学习资料。 首先,让我们深入了解一下Redis的安装过程。在Windows环境下...

    基于redis的二级缓存

    在IT行业中,数据库缓存是提高系统性能的关键技术之一,而Redis作为一种高性能的键值存储系统,常被用作二级缓存。...通过深入学习和实践,我们可以构建出更加稳定、高效的缓存系统,为我们的应用提供强大的支撑。

    redis缓存实例

    Redis是一种高性能的键值对内存数据库,常被用于构建高效的缓存系统,以提升应用程序的性能。在Spring框架中,我们可以使用Jedis作为Redis的Java客户端来与Redis服务器进行交互。下面将详细介绍如何通过Spring集成...

    redis 缓存技术学习笔记

    ### Redis缓存技术学习笔记 #### 一、Redis概述 Redis是一个开源的、高性能的键值存储系统。它提供了一种灵活的方式来进行数据管理和存储,适用于多种应用场景,如缓存、消息队列等。与传统的键值存储系统...

    Redis缓存管理工具:Redis-Desktop

    Redis是世界上最受欢迎的内存数据存储系统之一,常用于构建高性能、低延迟的应用程序,特别是作为数据库、缓存和消息中间件。Redis-Desktop 是一款专为方便开发者管理和操作Redis实例而设计的桌面客户端工具,提供了...

    mybati与redis缓存demo合集

    标题"mybati与redis缓存demo合集"意味着我们将学习如何在MyBatis项目中集成Redis作为缓存机制,这通常涉及到以下几个步骤: 1. **安装与配置Redis**: 首先,你需要在服务器上安装Redis,并确保其正常运行。接着,在...

    Redis学习指南 Redis学习手册

    综上所述,Redis学习需要掌握其基本概念、高级特性以及如何在实际项目中应用。通过阅读"Redis学习手册",你将能够深入了解Redis的工作原理,熟练使用其各种功能,从而在你的IT职业生涯中发挥出Redis的强大效能。

    基于mongodb数据库的集成redis缓存springboot实战

    在“基于mongodb数据库的集成redis缓存springboot实战”项目中,我们将学习如何将这两个技术结合在一起,以实现高效的数据存储和检索。首先,我们需要在SpringBoot项目中添加MongoDB和Redis的相关依赖。这通常通过在...

Global site tag (gtag.js) - Google Analytics