首页 > 数据库 >Java (Redis)

Java (Redis)

时间:2024-06-07 23:45:18浏览次数:43  
标签:Java Redis redis System jedis 内存 println

前沿

让我们来学习下Redis吧

 

官网下载客户端

https://app.redislabs.com/#/rlec-downloads

 

 

什么是 Redis?

Redis(Remote Dictionary Server)是一个开源的、高性能的、基于内存的键值存储系统。
它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。由于其基于内存的设计,
Redis 具有极高的读写性能,常用于缓存、消息队列、实时分析等场景。
  Redis(RemoteDictionaryServer)是一个基于内存的键值对存储系统,常用作缓存服务。由于Reids将数据都保存在内存中,因此   其读写性能十分惊人,同时,为保证数据的可靠性,Redis会将数据备份到硬盘上,用于故障发生时的数据恢复。

用处

缓存:加速数据访问速度,减轻数据库负载。
会话存储:存储用户会话数据,提高会话管理的效率。
消息队列:实现发布/订阅功能,支持异步消息处理。
实时统计:快速计算和统计数据,如网站的实时访问量。
分布式锁:确保分布式系统中资源的互斥访问。

Redis特点

 

o高性能:Redis主要将数据存储在内存中,因此读写速度非常快,适合对速度有较高要求的场景。
o支持多种数据结构:Redis中键值对的值(Value)支持多种数据结构,如学符串、哈希表、列表、集合等,这使得它可以应用于
多种不同的场景。
o持久化:Redis可以通过定期快照或者实时记录写操作志的方式将内存中的数据持久化到硬盘,确保数据在重启后不会去失
o灵活的数据过期策略:可以为每个键设置过期时间,一旦过期,Redis会自动刷除

  用图来理解吧

 Docker 安装

 

docker pull redis:alpine 

 

 y运行

$ docker run --name my-redis -d redis:alpine
 my-redis 我自己定义的名称


 

 

 

quit 退出

然后就是停止 redis 

 

 

然后测试

 这样没有问题

 

下载客户端

 

 

 然后连接数据库

 

结合Java 代码

 

import redis.clients.jedis.Jedis;

public class RedisExample {
    public static void main(String[] args) {
        // 连接本地的 Redis 服务
        Jedis jedis = new Jedis("localhost", 6379);
        System.out.println("连接成功");

        // 设置 Redis 字符串数据
        jedis.set("name", "Alice");
        System.out.println("Redis 存储的字符串: " + jedis.get("name"));

        // 设置 Redis 哈希数据
        jedis.hset("user:1000", "username", "alice");
        jedis.hset("user:1000", "email", "[email protected]");
        System.out.println("Redis 存储的哈希: " + jedis.hgetAll("user:1000"));

        // 列表操作
        jedis.lpush("tasks", "task1");
        jedis.lpush("tasks", "task2");
        System.out.println("Redis 存储的列表: " + jedis.lrange("tasks", 0, -1));

        // 集合操作
        jedis.sadd("tags", "java", "redis", "jedis");
        System.out.println("Redis 存储的集合: " + jedis.smembers("tags"));

        // 关闭连接
        jedis.close();
    }
}

 

标签:Java,Redis,redis,System,jedis,内存,println
From: https://www.cnblogs.com/yf-html/p/18237946

相关文章

  • Java位运算符代码演示
    文章目录原码、反码、补码代码演示(Java)应用参考原码、反码、补码在计算机内,有符号数有3种表示方法:原码、反码和补码,机器数的最高位为符号位,符号位为0表示正数,符号位为1表示负数。原码=符号位+真值的绝对值。如:3的原码(这里假设机器数的字长为8)是00000011,-3的原码是10......
  • 福州大学苏立超老师《大数据库系统》第三章复习提纲“redis”
    第三章(考点:3.3-3.7数据类型与操作(会写会熟练使用)消息订阅持久化主从复制运维和哨兵怎么配,作用)一.通用命令设置setkeyvalue查询keyskey(*)支持模糊查询*任意多个字符;[]括号内某个字符;?单个字符randomkey随机keyexistskey判断是否存在typekey返回类型delke......
  • 重学java 58.红黑树相关集合
    现在还来得及                ——24.6.3一、TreeSet1.概述:        Treeset是set的实现类2.特点:        a.对元素进行排序        b.无索引        c.不能存null        d.线程不安全    ......
  • Java中运算与规则相关细节
    每日一句对待已然的事实,最快速度通关方法就是:觉察自己的心理和情绪,看见和观照,不断深呼吸,直到放下抗拒放弃排斥,直到接受事实全然接纳,全然巨服。对事实说:“是的”。然后看看,在接纳的基础上我还能做些什么。学习内容模运算a%b=a-a/b*b;符号取决于a++–自增和自......
  • Java 八股文-基础篇
    Java基础一、Java概述1.什么是Java?Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的优秀代表,极好地实现了面向对象理论,允许程......
  • Java为什么会成为现在主流的编程语言
    JDK动态代理 是Java标准库提供的一种实现动态代理的方式。具体来说,它允许在运行时动态地创建对象,并将方法调用重定向到代理对象中的处理程序(InvocationHandler)。其核心原理是通过反射机制,在运行时生成一个实现了被代理对象接口的匿名类,并通过该匿名类来创建代理对象。这个匿名......
  • Java 的动态代理是基于什么原理?
    Java的动态代理是基于以下原理实现的:代理模式:代理模式是一种设计模式,通过创建一个代理对象来控制对真实对象的访问。代理对象可以在调用真实对象之前或之后增加额外的逻辑,比如权限验证、记录日志等。代理模式的主要目的是在不修改原有代码的基础上,扩展对象的行为。动......
  • Java基础——数组应用之StringBuilder类和StringBuffer类
    系列文章目录文章目录系列文章目录前言一、StringBuffer类二、StringBuffer概述三、StringBuffer方法四、StringBuilder类五、String、StringBuffer、StringBuilder的区别前言前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点......
  • JavaScript中的async/await
    async/await是什么?async是一个修饰符,async定义的函数会默认的返回一个Promise对象resolve的值,因此对async函数可以直接进行then操作,返回的值即为then方法的传入函数。await也是一个修饰符,await关键字只能放在async函数内部,await关键字的作用就是获取Promise中返回......
  • 【Java笔记】第十章:接口
    一、理解1.接口:是一种标准,接口的实现者和使用者都必须遵循的约定2.语法特点:(1)接口的关键字:interface(2)接口的语法:   interface接口名{}(3)接口不能创建对象,可以声明引用(4)接口中的属性都是公开的、静态的、常量(默认被public、static、final修饰)(......