缓存技术—redis

news2024/11/15 8:59:18

一、redis介绍

1.什么是NoSQL

        NosQL (Not-Only:sQL),泛指非关系型的数据库(关系型数据库: 以二维表形式存储数据)
        非关系型的数据库现在成了一个极其热门的新领域,发展非常迅速。而传统的关系数据库在应付超大规模和高并发的网站已经显得力不从心,暴露了很多难以克服的问题,NOSOL 数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。例如:Highperformance-·对数据库高并发读写的需求;
        对于每秒要达到上万次读写请求。关系数据库应付上万次 SOL 查询还勉强顶得住,但是应付上万次 SOL 写数据请求,硬盘I0 就已经无法承受了。“

 一些主流的NOSQL产品:

NoSQL数据库的四大分类如下:

1.键值(Key-Value)存储数据库

相关产品: Tokyo Cabinet/TyrantRedisVoldemortBerkeley DB

典型应用:内容缓存,主要用于处理大量数据的高访问负载。

数据模型:一系列键值对

优势:快速查询

劣势:存储的数据缺少结构化

2.列存储数据库

相关产品:Cassandra, HBase, Riak

典型应用:分布式的文件系统

数据模型:以列簇式存储,将同一列数据存在一起

优势:查找速度快,可扩展性强,更容易进行分布式扩展

劣势:功能相对局限

3.文档型数据库

相关产品:CouchDBMongoDB

典型应用:Web应用(与Key-Value类似,Value是结构化的)

数据模型:一系列键值对

优势:数据结构要求不严格

劣势:查询性能不高,而且缺乏统一的查询语法

4.图形(Graph)数据库

相关数据库:Neo4JInfoGridInfinite Graph

典型应用:社交网络

数据模型:图结构

优势:利用图结构相关算法。

劣势:需要对整个图做计算才能得出结果,不容易做分布式的集群方案。

 

2.redis历史发展 

        2008 年,意大利的一家创业公司 Merzia 推出了一款基于 MysQL的网站实时统计系统 LLOOGG,然而没过多久该公司的创始人·Salvatore·Sanfilippo 便对 MySQL 的性能感到失望,于是他决定亲自为 LLOOGG 量身定做一个数据库,并于2009 年开发完成,这个数据库就是 Redis。不过 Salvatore-Sanfilippo 并不满足只将 Redis 用于 LLOOGG 这一款产品,而是希望更多的人使用它,于是在同一年 Salvatore· Sanfilippo 将 Redis 开源发布,并开始和 Redis 的另一名主要的代码贡献者 Pieter·Noordhuis 一起继续着 Redis 的开发,直到今天。

        “Salvatore Sanflippo 自己也没有想到,短短的几年时间,Redis 就拥有了庞大的用户群体。在 2012 年一份数据库的使用情况调查,结果显示有近12%的公司在使用 Redis。国内如新浪微博、街旁网、知乎网,国外如GitHub、Stack-Overflow.Flickr 等都是 Redis 的用户。“
        VMware 公司从 2010 年开始赞助 Redis 的开发,· Salvatore·Sanfilippo 和 ieter Noordhuis 也分别在3 月和5月加入VMware,全职开发 Redis。

3.什么是redis

        Redis 是用 C 语言开发的一个开源的高性能键值对 (key-value)数据库。redis 是将数据存放到内存中,由于内容存取速度快所以 redis,被广泛应用在互联网项目中
优点: 存取速度快,官方称读取速度会达到 30 万次每秒,写速度在 10 万次每秒最有,具体限制于硬件缺点:对持久化支持不够良好,所以 redis.一般配合传统的关系型数据库使用。“ 

4.redis应用场景

缓存(数据查询)。(最多使用)

分布式集群架构中的 session 分离。

聊天室的在线好友列表。

任务队列。 (秒杀、抢购、12306 等等)

网站访问统计。

二、redis多数据库测试

        一个Redis实例可以包括多个数据库,客户端可以指定连接某个redis实例的哪个数据库,就好比一个mysql中创建多个数据库,客户端连接时指定连接哪个数据库。

        一个redis实例最多可提供16个数据库,下标从015,客户端默认连接第0号数据库,也可以通过select选择连接哪个数据库,如下连接1号库:

 

在1号库中查询上节设置的数据,结果查询不到:

 

重新选择第0号数据库,查询数据: 

 

如果选择一个不存在数据库则会报错: 

 

注意:redis不支持修改数据库的名称,只能通过select 0、select 1...选择数据库。 

注意: 

在0号数据库存储数据,在1号数据库执行清空数据命令却把0号数据库的数据给清空了:
 

建议:不同的应用系统要使用不同的redis实例而不是使用同一个redis实例下的不同数据库。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1414716.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pip安装镜像源设置

01.官方镜像源:资料最新,包最全 https://pypi.python.org/simple 02.国内镜像源:国内访问速度快 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 03. 配置方式1:永久替换 pi…

Spark运行架构以及容错机制

Spark运行架构以及容错机制 1. Spark的角色区分1.1 Driver1.2 Excuter 2. Spark-Cluster模式的任务提交流程2.1 Spark On Yarn的任务提交流程2.1.1 yarn相关概念2.1.2 任务提交流程 2.2 Spark On K8S的任务提交流程2.2.1 k8s相关概念2.2.2 任务提交流程 3. Spark-Cluster模式的…

2024最新版Visual Studio Code安装使用指南

2024最新版Visual Studio Code安装使用指南 Installation and Usage Guide for the Latest Visual Studio Code in 2024 By JacksonML Visual Studio Code最新版1.85已经于2023年11月由其官网 https://code.visualstudio.com正式发布,这是微软公司2024年发行的的最…

《WebKit 技术内幕》学习之十五(5):Web前端的未来

5 Crosswalk项目 Crosswalk项目是由英特尔公司发起的一个开源项目,该项目基于WebKit(Blink)和Chromium等开源项目打造,其目的是提供一个跨不同操作系统的Web运行环境,包括Android、Tizen、Linux、Windows、MacOS等众多…

Linux-----Shell编程之循环语句

目录 一、小命令 1、echo 实验: 2、date ------ 查看当前系统时间 3、cal ---- 日历 4、seq 打印 二、循环语句 1、for语句 实验: 计算整数和: 列出奇偶数 批量添加、删除用户 密码验证 随机抽奖 改名 九九乘法表 九九乘…

线性表--栈

1.什么是栈? 栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除 操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出的原则。 压栈:栈的插入操作叫做进栈/压栈/入栈&#xff…

AI大模型开发架构设计(5)——人人能学会的Llama-2大模型微调

文章目录 人人能学会的Llama-2大模型微调1 什么是Llama-2以及关键特性分析什么是Llama-2?Llama-2关键特性分析2 Llama-2微调全流程剖析为什么要微调Llama-2?Llama-2微调全流程3 基于Llama-2微调3个应用案例案例1:电子游戏评价数据生成文本数据集合案例2:利用Llama-2微调模型…

linux 查看zookeeper server运行版本号

zookeeper版本查看运行命令:echo stat|nc localhost 2181 显示如下图所示: Zookeeper version: 3.4.5-cdh6.3.2--1, built on 11/08/2019 13:15 GMT Clients: /127.0.0.1:44814[0](queued0,recved1,sent0) Latency min/avg/max: 0/0/0 Received: 9 Se…

【Linux】开始使用 vim 吧!!!

Linux 1 what is vim ?2 vim基本概念3 vim的基本操作 !3.1 vim的快捷方式3.1.1 复制与粘贴3.1.2 撤销与剪切3.1.3 字符操作 3.2 vim的光标操作3.3 vim的文件操作 总结Thanks♪(・ω・)ノ感谢阅读下一篇文章见!…

这是一片测试文章

这是一片测试文章 这是一片测试文章 这是一片测试文章 这是一片测试文章 这是一片测试文章 这是一片测试文章 真的是测试文章 -111122225555444433333333222211111 dddddaaa

网络安全B模块(笔记详解)- HASH算法的基本使用

1.通过服务器场景(A-Server),进行HASH算法的基本使用。将123456作为openssl md5 的输入参数,使用 123456进行md5计算并将内容输出到屏幕。将此命令中输出结果的命令作为Flag提交; 2.通过服务器场景使用不同的加密方式对123456进行加密,对比两个加密字符串有何不同。使用…

20240127如何在线识别德语字幕?

20240127如何在线识别德语字幕? 2024/1/27 11:42 1945[科尔贝格]Kolberg 01:48:49 接近109分钟 德语视频的字幕OCR适配: 1、whisper,8:39-8:58,使用GTX1080需要接近20分钟。对整机性能要求比较重,特别吃显卡&#xff…

代码随想录算法刷题训练营day16

代码随想录算法刷题训练营day16:LeetCode(104)二叉树的最大深度 、LeetCode(559)n叉树的最大深度、LeetCode(111)二叉树的最小深度、LeetCode(222)完全二叉树的节点个数 LeetCode(104)二叉树的最大深度 题目 代码 /*** Definition for a binary tree node.* publ…

外包干了10个月,技术退步明显...

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

上升子序列的最大长度,递归-记忆化搜索-动态规划三步走

题目描述: 小明有一个数组,他想从数组任意元素开始向后遍历,找出所有上升子序列,并计算出最长的上升子序列的长度。 数据范围: 每组数据长度满足 1≤n≤200 1≤n≤200 , 数据大小满足 1≤val≤350 1≤val≤…

一句话说透redis哨兵模式

提到哨兵模式,不得不从另外一个模式进行说起,那就是redis的最常见的模式 主从模式,那么为啥还需要哨兵模式呢? 是因为如果开启了reids的主从模式,当主有问题时候,需要人工的切换到从节点上,无法…

如何实现无公网IP实现远程访问MongoDB文件数据库

📑前言 本文主要是如何实现无公网IP实现远程访问MongoDB文件数据库的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 &#x…

免费激活Vmware16且配置虚拟机网络

今天从头配置了一台虚拟机,遇到了点问题,记录一下从头开始的过程,以便下次查看 第一步 下载VM16 链接:https://pan.baidu.com/s/1a2gIXKYMMRXVEHb7bM4stw 提取码:7mht 步骤很简单,安装之后直接把文件夹里…

2024区块链应用最趋势,RWA实物资产化

作者 张群(赛联区块链教育首席讲师,工信部赛迪特聘资深专家,CSDN认证业界专家,微软认证专家,多家企业区块链产品顾问)关注张群,为您提供一站式区块链技术和方案咨询。 实物资产通证化&#xff0…

设计模式分类

常用的设计模式有哪些? 常用的设计模式通常按照创建型、结构型和行为型三大类别来划分,以下是每个类别中的一些常见设计模式: 创建型(Creational Patterns): 单例模式(Singleton Pattern&…