Redis概述与安装

2023-11-17

Redis简介

首先,简单了解一下NoSQL(Not only sql),不要错误的理解为:没有SQL,而是不仅仅是SQL。NoSQL工具也是一种简易的数据库,它主要是基于内存的数据库,并提供一定的持久化功能。现在有很多这种技术如:memcachedb,redis,MongoDB等等。
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis的性能十分优越,可以支持每秒十几万的读/写操作,其性能超数据库,并且支持集群、分布式、主从同步等配置,还支持一定事务能力。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

  • Redis支持数据的备份,即master-slave模式的数据备份。

redis的性能优越主要来自3个方面:

  • 基于ANSI C语言编写的,接近于汇编语言的机器语言,运行十分快速。

  • 基于内存的读/写,速度自然比数据库的磁盘读/写要快。

  • 它的数据结构只有6种数据类型,数据结构比较简单,因此规则较少,而数据库则是范式,完整性、规范性需要考虑的规则较多,处理业务会比较复杂。

Redis在javaweb中的应用

一般,在javaweb中应用redis存在两个场景,一个是缓存常用的数据;另一个是在需要高速读/写的场合使用它快速读/写,比如一些需要进行商品抢购和抢红包的场合。
在使用Redis存储的时候,需要从3个方面进行考虑:

  • 业务数据常用吗?命中率如何?如果命中率低,就没有必要写入缓存。

  • 该业务数据是读操作多还是写操作多,如果写操作多,频繁需要写入数据库,也没有必要使用缓存。

  • 业务数据大小如何?如果要存储几百兆字节的文件,会给缓存带来很大的压力,有没有必要?
    考虑这些问题后,如需要缓存,就可以使用了。

Redis安装

我的电脑是windows系统的,所以主要以此为主,其它系统的安装就没有介绍。
下载地址:https://github.com/ServiceStack/redis-windows/tree/master/downloads
也可以到Redis的官网下载。
下载下来是一个压缩包,解压后的目录如下:

图片.png

方便启动在目录下新建一个startup.cmd,用编辑工具打开,写入以下内容:redis-server redis.windows.conf
就是通过命令来读取redis-window.conf的内容,用来启动redis,双击启动,出现下图就说明启动成功了。

图片.png

 在文件夹下还有一个redis-cli.exe,它一个Redis自带的客户端工具,可以连接到redis服务器,如图:

图片.png

这样就安装好了redis。

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Redis概述与安装 的相关文章

  • 保护节点 Redis

    我正在尝试保护 Node Redis IPC 服务器以使用私钥 公钥 我已经关注了本教程 http bencane com 2014 02 18 sending redis traffic through an ssl tunnel wit
  • 为什么Redis中不建议使用KEYS?

    在Redis中 建议不要使用按键命令 https redis io commands KEYS 为什么会这样呢 是因为它的时间复杂度是 O N 吗 或者是别的什么原因 我做了下面的实验来证明KEYS命令有多么危险 当带有 KEYS 的一个命
  • 库存管理系统的 SQL 与 NoSQL

    我正在开发一个基于 JAVA 的网络应用程序 主要目的是拥有在多个称为渠道的网站上销售的产品的库存 我们将担任所有这些渠道的管理者 我们需要的是 用于管理每个渠道的库存更新的队列 库存表 其中包含每个通道上分配的正确快照 将会话 ID 和其
  • 是否有可嵌入的 Java 替代 Redis?

    根据这个线程 https stackoverflow com questions 3047010 best redis library for java 如果我想从Java中使用Redis Jedis是最好的选择 然而 我想知道是否有任何库
  • redis-cli 重定向到 127.0.0.1

    我在PC1上启动Redis集群 然后在PC2上连接它 当需要重定向到另一个集群节点时 它会显示Redirected to slot 7785 located at 127 0 0 1 但应该显示Redirected to slot 7785
  • 从redis中检索大数据集

    一台服务器上的应用程序查询另一台服务器上运行的 Redis 查询的结果数据集约为 250kzrangebyscore objects locations inf inf这在应用程序服务器上似乎需要 40 秒 当使用命令执行时redis cl
  • Caffeine Expiry 中如何设置多个过期标准?

    我正在使用 Caffeine v2 8 5 我想创建一个具有可变到期时间的缓存 基于 值的创建 更新以及 该值的最后一次访问 读取 无论先发生什么都应该触发该条目的删除 缓存将成为三层值解析的一部分 The key is present i
  • redis 阻塞直到 key 存在

    我是 Redis 新手 想知道是否有办法能够await get通过它的键来获取值 直到该键存在 最小代码 async def handler data await self fetch key async def fetch key ret
  • 有没有办法在 ruby​​ 中重新定义 []=+

    我正在尝试编写一个简单的 DSL 针对 Redis 并且我想自己定义 I have def key val redis zadd name val key end 我想定义 def key val redis zincrby name va
  • 为什么 Redis TimeSeries 不捕获聚合中的最后一个元素?

    我试图了解 Redis 的时间序列规则创建的工作原理 但我很困惑为什么 Redis 会忽略聚合中的最后一项 并想知道这是否是预期的行为 我在中创建了示例代码redis cli为了显示 127 0 0 1 6379 gt FLUSHALL O
  • 2 个具有共享 Redis 依赖的 Helm Chart

    目前 我有 2 个 Helm Charts Chart A 和 Chart B Chart A 和 Chart B 对 Redis 实例具有相同的依赖关系 如Chart yaml file dependencies name redis v
  • Spring Data JPA Redis:无法编写基于自定义方法的查询

    我已经使用 Redis 配置了 Spring Data JPA 并使用RedisRepositorieswith 提供了类似的方法find findAll 所有这些方法似乎都工作得很好 但我无法编写我的自定义方法 RedisEntity f
  • 如何使redis中的“HSET”子键“过期”?

    我需要使 Redis 哈希中所有超过 1 个月的密钥过期 这不可能 https github com antirez redis issues 167 issuecomment 2559040 为了保持 Redis 简单 https git
  • 为什么Redis中没有有序的hashmap?

    Redis 数据类型 http redis io topics data types包括排序集 http redis io topics data types intro sorted sets以及其他用于键值存储的必要数据结构 但我想知道
  • Redis+Docker+Django - 错误 111 连接被拒绝

    我正在尝试使用 Redis 作为使用 Docker Compose 的 Django 项目的 Celery 代理 我无法弄清楚我到底做错了什么 但尽管控制台日志消息告诉我 Redis 正在运行并接受连接 事实上 当我这样做时 docker
  • 节点应用程序之间共享会话?

    我目前有两个独立的节点应用程序在两个不同的端口上运行 但共享相同的后端数据存储 我需要在两个应用程序之间共享用户会话 以便当用户通过一个应用程序登录时 他们的会话可用 并且他们似乎已登录到另一个应用程序 在本例中 它是一个面向公众的网站和一
  • docker-compose:容器之间的 Redis 连接被拒绝

    我正在尝试设置一个 docker compose 文件 该文件旨在替换运行多个进程 RQ 工作线程 RQ 仪表板和 Flask 应用程序 的单个 Docker 容器解决方案导师 http supervisord org 主机系统是 Debi
  • 如何延长 django-redis 中的缓存 ttl(生存时间)?

    我正在使用 django 1 5 4 和 django redis 3 7 1 我想延长缓存的 ttl 生存时间 当我取回它时 这是示例代码 from django core cache import cache foo cache get
  • 如何使用redis发布/订阅

    目前我正在使用node js和redis来构建应用程序 我使用redis的原因是因为发布 订阅功能 该应用程序只是在用户进入用户或离开房间时通知经理 function publishMsg channel mssage redisClien
  • Spring Data Redis 覆盖默认序列化器

    我正在尝试创建一个RedisTemplatebean 将具有更新的值序列化器来序列化对象JSONredis 中的格式 Configuration class RedisConfig Bean name redisTemplate Prima

随机推荐

  • 树莓派升级ubuntu mate 16.04 到 18.04

    gt gt gt sudo do release upgrade Checking for a new Ubuntu release Get 1 Upgrade tool signature 819 B Get 2 Upgrade tool
  • 理解 es6 class 中 constructor 方法 和 super 的作用

    首先 ES6 的 class 属于一种 语法糖 所以只是写法更加优雅 更加像面对对象的编程 其思想和 ES5 是一致的 function Point x y this x x this y y Point prototype toStrin
  • html鼠标经过状态,30种炫酷html5鼠标滑过图片标题显示效果

    这款插件集合和30种html5不同效果的鼠标滑过图片时标题动画效果 这个插件使用css 3D transforms和伪元素来制作动画效果 请确保你的浏览器支持这些css3特性 另外 在文本上使用css transitions时 火狐浏览器存
  • Appium 实现一个 apk 的二级页面的点击操作

    前言 在本文中 我们将介绍如何使用 Appium 和 Python 来实现一个 apk 的二级页面的点击操作 用例目标 实现一个 apk 的二级页面的点击操作 初始思路 进入到该界面的直接点击该 button 即可 遇到问题 1 启动不起来
  • Jenkins安装与入门(+Git+Docker)自动化交互

    https jenkins io zh yum install git y yum install jdk 8u171 linux x64 rpm y rpm qa grep java 如果过滤出open jdk 删掉防止冲突 yum in
  • 每天进步一点点【图的深度优先搜索与广度优先搜索】

    图是一种数据结构 其中节点可以具有零个或多个相邻元素 两个节点之间的连接称为边 节点也可以称为顶点 图分为三种 无向图 有向图 带权图 图的表示方式有两种 二维数组表示 邻接矩阵 链表表示 邻接表 邻接矩阵 邻接矩阵是表示图形中顶点之间相邻
  • R语言基本函数的学习(持续更新)

    目录 前言 Tidyverse包 arrange 函数 head 函数 filter 函数 select 函数
  • ubuntu server 14.04 启动 gnome(桌面) fail(失败)

    这个是不能进入gnome桌面 按alt f1登录后 执行命令 startx 就可以进入桌面显示了 具体是什么原因还不清楚 可以是安装一些软件或配置时候出现的问题吧 有人知道也可以告诉我原因 感谢
  • upload-labs通关详解

    目录 Pass 01 前端js验证 Pass 02 后端MIME验证 Pass 03 黑名单验证 Pass 04 黑名单验证 htaccess Pass 05大小写绕过 Pass 6 空格绕过 Pass 07 点绕过 Pass 08 DAT
  • 三极管的工作状态及电流关系

    三级管分为NPN和PNP两种 一 先来说说三极管3种工作状态的电压关系 1 放大 发射结正偏 集电结反偏 1 NPN UBE gt 0 UBC lt 0 2 PNP UBE lt 0 UBC gt 0 2 截止 放射结 集电结都反偏 1 N
  • STM32+W5500+MQTT使用记录

    第一次尝试写博客 不为别的 为了积累一些知识和记录下使用的遇到的问题 关于MQTT协议的介绍可以百度搜索或者在本论坛内查找 介绍的还是很多 而且介绍的很想学习 当然我也收藏了很多 一下主要介绍我使用时如何处理的 1 实现MQTT协议 要基于
  • 知识星球-伙伴匹配系统08

    伙伴匹配系统08 控制定时任务的执行 锁 分布式锁 分布式锁实现的关键 抢锁机制 注意事项 Redisson 实现分布式锁 2 种引入方式 定时任务 锁 控制定时任务的执行 为啥 浪费资源 想象 10000 台服务器同时 打鸣 脏数据 比如
  • 学生python编辑2--反弹的小球

    目录 上下反弹的小球 左右反弹的小球 碰边反弹的小球 上下反弹的小球 coding UTF 8 开发团队 信息化未来 开发人员 Administrator 开发时间 2022 8 21 17 52 文件名称 自动反弹的小球 py 开发工具
  • 初级5 题目三 认识布隆过滤器

    1 布隆过滤器的使用需求是 查询一个东西是否在一个集合中 例如现在有 100 亿个url被列为黑名单 每次用户访问到该 url 时 返回 false 如果单纯地使用 HashSet 至少 6400 亿字节内存的损耗 而布隆过滤器可以极大程度
  • Python 实现 PCA

    前言 说好的要做个有逼格的技术博客 虽然这篇依然没什么水平 但总算走出了第一步 希望以后每天都能进步一点点吧 接触机器学习也一年多了 也学了很多算法 而PCA是数据预处理中一个很重要的算法 当时学习的时候也在网上看了很多资料 没想到一个简单
  • java.io.IOException: read failed, socket might closed or timeout, read ret: -1

    好吧 重要的事情说三遍 连接蓝牙前关闭蓝牙搜索 连接蓝牙前关闭蓝牙搜索 连接蓝牙前关闭蓝牙搜索
  • 补码加减运算及判断溢出方法

    一 补码加减运算 二 判断溢出方法 1 符号位判溢出方法 对于加减运算 两个异号数相加或者两个同号数相减 结果的绝对值一定比任何一个数的绝对值要小 不会发生上溢出 两个异号数相减或者两个同号数相加的绝对值肯定比任何一个数要大 可能发生溢出
  • UE4的视频播放(Media Player)

    1 视频播放Begining 首先将需要播放的视频拖入 创建Media Player和Media Texture 创建Material 将材质改为User Interface 在UI界面 创建Image 将这个材质装入 在人物Pawn界面添
  • FriendlyDesktop系统烧写,SOM-RK3399/NanoPC T4烧录系统

    SOM RK3399 SOM RK3399 V2 NanoPC T4的系统是通用的 由于Type C烧写有蛮大的概率会识别不成功 实测 所以建议使用SD卡脱机烧写 友善之臂提供了几种系统支持 android7 8 10 FriendlyCo
  • Redis概述与安装

    Redis简介 首先 简单了解一下NoSQL Not only sql 不要错误的理解为 没有SQL 而是不仅仅是SQL NoSQL工具也是一种简易的数据库 它主要是基于内存的数据库 并提供一定的持久化功能 现在有很多这种技术如 memca