首页 > 数据库 >缓存方案之Redis

缓存方案之Redis

时间:2023-06-20 14:00:44浏览次数:43  
标签:方案 缓存 src Redis 数据类型 jedis Jedis


Redis简介

  Redis是Remote Dictionary Server(Redis) 的缩写,或许光听名字你就能猜出它大概是做什么的。不错,它是一个由Salvatore Sanfilippo编写的key-value存储系统,是一个使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型的Key-Value数据库,并提供多种语言的API。在很多地方,Redis也被业内人士称为数据结构服务器,因为它允许缓存的值(value)可以是字符串(string)、哈希(hash)、列表(list)、集合(set)和有序集合(sorted set)等类型。此外,Redis还支持master-slave方式的数据备份,所有的这一切都让Redis在同类型的产品中脱颖而出。

Redis的优势

  • 性能极高 – 在我的Mac Book Pro上执行Redis的基准测试(benchmark),每秒能够处理写操作数都在80000以上。部分测试结果如下图所示:

缓存方案之Redis_数据类型

  • 丰富的数据类型 – Redis支持Strings, Lists, Hashes, Sets 及Ordered Sets数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  • 丰富的特性 – Redis还支持publish/subscribe,通知,key过期等丰富的特性。

Redis的安装和配置

  如何在Windows和Linux系统上安装Redis在W3CSchool网站已经有详细的讲解了,我分享一下在Mac上安装Redis的过程,跟其他系统基本一致。首先从Redis的官方网站下载Redis的压缩文件,解压之后有一个src目录。由于Mac系统是在Unix系统(FreeBSD)基础上发展起来的,因此可以直接使用make命令对src目录下的源代码进行构建(Makefile肯定是已经有的,不懂make的作用和原理没关系,照做就可以了),构建完成后src目录下会生成一个redis-server文件,运行它就可以启动服务器,如下图所示。

缓存方案之Redis_数据类型_02

  接下来可以启动一个客户端程序来做一些简单的实验。还是在刚才的src目录下有一个redis-cli文件,运行它就可以启动一个客户端,如下图所示。

缓存方案之Redis_数据类型_03

  关于Redis的数据类型、命令、事务、发布/订阅、数据备份与恢复、配置等内容仍然可以参考上面提到的W3CSchool的网站。

在Java项目中使用Redis

  Jedis是Redis官方首选的Java客户端开发包,点击链接可以获得相关的API文档。下面给出一段简单的测试代码。

import redis.clients.jedis.Jedis;

class RedisTest {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("localhost");       // 连接到Redis服务器
        // jedis.auth("123456");                    // 输入口令进行验证
        jedis.set("greeting", "Hello, world!");     // 将字符串缓存到Redis服务器
        System.out.println(jedis.get("greeting"));  // 从Redis缓存中获取数据
    }
}

Redis和Memcached的比较

  1. Redis使用最佳方式是全部数据in-memory。
  2. Redis更多场景是作为Memcached的替代者来使用。
  3. 当需要除key/value之外的更多数据类型支持时,Redis更合适。
  4. 当存储的数据不能被剔除时,使用Redis更合适。
  5. Redis可以使用指令直接对缓存的数据进行运算。


标签:方案,缓存,src,Redis,数据类型,jedis,Jedis
From: https://blog.51cto.com/u_16166070/6522238

相关文章

  • 一款纯VF控制的变频器方案方案说明:可做0.2KW7.5KW/220V,0.2KW75KW/380V,富士通MB90F462
    一款纯VF控制的变频器方案方案说明:可做0.2KW7.5KW/220V,0.2KW75KW/380V,富士通MB90F462ALQFP64单片机控制,可提供源码及电路原理图,PCB图这是一种基于纯VF控制的变频器方案。它可以在220V电压下提供0.2KW到7.5KW的功率输出,或者在380V电压下提供0.2KW到75KW的功率输出。该方案采用了......
  • 单相电机数显调速器方案02 方案说明:可做6W~250W的单相电机数显智能调速器。
    单相电机数显调速器方案02方案说明:可做6W~250W的单相电机数显智能调速器。STM8S003F3P6单片机控制,性能稳定,调速准确,成本超低,已量产过20万台以上,只提供程序烧录码以及电路原理图和PCB图。这个方案是为了实现单相电机的数显调速而设计的。它采用了STM8S003F3P6单片机进行控制,具有稳......
  • 关于NAT端口回流问题的探讨与解决方案
    作者:李毓NAT端口回流其实是一个老生常谈的问题,但是我发现其实这个问题有很多人并没有理解为什么会发生以及并没有给出一个合理的解决方法。今天我们就一起探讨一下这个问题的产生以及如何去解决它。在一般的企业,我们一般都会有这样的网络拓扑结构:最外层是一个接口路由器,后面接......
  • Dtu 解决方案 源代码GPRS DTU方案 包括项目所有代码、原理图、PCB
    Dtu解决方案源代码GPRSDTU方案包括项目所有代码、原理图、PCB文件。本项目经历过4个月的测试,bug总量在一个非常低的水平。方案包括以下部分:Dtu硬件代码:(MCU:STM32F103C8T6?模块:移远m26)Dtu上位机代码:(环境C++和VB)Dtu配置软件代码:(环境C++和VB)Dtu生产测试软件代码:(环境C++和VB)DTU生......
  • 曲江煤矿事故给我们带来的教训及解决方案的介绍
    安科瑞虞佳豪曲​江煤矿今年3月11日曾发生全矿停电事故,停电超过3小时,瓦斯超限报警持续41分钟,掘进工作面瓦斯浓度最高达到16.23%,造成138人涉险,该矿仍不吸取教训,开展矿山安全生产综合整治不细致、风险隐患排查治理走过场,5月5日发生电氧焊切割枪体爆炸事故,5月8日发生矿工坠落煤仓事......
  • 科技政策 | 上海发布元宇宙关键技术攻关两年行动方案,聚焦这两大方向
    原创|文BFT机器人6月13日,上海市科学技术委员会发布关于印发《上海市“元宇宙”关键技术攻关行动方案(2023—2025年)》(下称《行动方案》)的通知。《行动方案》称,针对“元宇宙”沉浸式、开放式、永续实时、以人为中心等跨界复合的技术特性,围绕“元宇宙”内容、存算、传输和终端等技术......
  • CS5211:EDP转LVDS屏转接板方案芯片设计
    大多数液晶显示屏及便携屏都有LVDS接口,若是电脑或投屏设备为EDP接口的话,就需要中间做一个EDP转LVDS屏转接板。那么如何能设计一块低成本的EDP转LVDS转接板呢?了解资料CS5211是一个eDP到LVDS转换器,配置灵活,适用于低成本显示系统。CS5211总功率小于300mW,供电网络设计可以简化。下图......
  • VONE客户端常见问题解决方案
    一、连接服务器失败打开vone客户端时,提示“连接服务器失败,请确认网络连接是否正常”,如下图:![image](https://img2023.cnblogs.com/blog/1224277/202306/1224277-20230620102849617-1673950342.png)![image](https://img2023.cnblogs.com/blog/1224277/202306/1224277-20230......
  • 这里提供了一个移动电源解决方案,其中包含了PCB原理图。移动电源解决方案是指为移动设
    这里提供了一个移动电源解决方案,其中包含了PCB原理图。移动电源解决方案是指为移动设备提供电力供应的解决方案。PCB原理图是指移动电源电路板的设计图纸,用于指导电路板的制造和组装。关于知识点和领域范围的延申科普,移动电源解决方案涉及到电力供应和电路设计。移动电源是一种便......
  • 也说一说IDEA热部署Web项目最终解决方案,确实大大提高工作效率
    热部署就是正在运行状态的应用,修改了它的源码之后,在不重新启动的情况下能够自动把增量内容编译并部署到服务器上,使得修改立即生效。热部署为了解决的问题有两个:1、在开发的时候,修改代码后不需要重启应用就能看到效果,大大提升开发效率;2、生产上运行的程序,可以在不停止运行的情况......