当前位置:首页 > 技术交流 > 学习笔记 > 正文内容

redis是什么?

薇薇3年前 (2021-04-07)学习笔记1319

哈喽~ 又见面了 ...好久没来瞅瞅我的博客了 最近忙得很呀 今天抽空更一下博客,正好最近学了一些小知识,来跟大家分享一下~~~


1. 什么是redis? 

  它本质上是一种键值数据库,它既保持了这种快捷简单的特点的同时,还带有部分关系数据库的有点。从而它的位置是处于关系数据库和键值数据库之间。是现在最后欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源,包含多种数据结构、支持网络、基于内存、可选持久性。

2. Redis的优点

  相比于其他数据库类型,redis具备

(1) 单进程单线程模型

(2) 丰富的数据类型

(3) 高并发读写

(4) 支持lua脚本

3. Redis提供的数据类型主要分5中自有类型和一种定义类型

   String类型、哈希类型(Hash)、列表类型(List)、集合类型(Set)和顺序集合类型(Zset)

4. Redis的数据结构 



5. 简单动态字符串SDS(Simple Dynamic String)

   基于C语言中传统字符串的缺陷,redis自己构建了一个名为简单动态字符串的抽象类型,简称为sds,结构如图:

 

c字符串相比,sds的特点


 

Redis常见问题

1.  redis获取key时,key如果不存在,它必须向DB发起一次请求,这就是“redis击穿”

 解决方案: 1.规范key的命名,通过中间件拦截  2.对于高频访问的key设置合理的时间

2. 由于某种原因使缓存层宕机后,所有的请求会涌向存储层,短时间高并发请求可能会使存储层挂机,这叫redis雪崩”

 解决方案 1.限流 2.使用redis集群

 

 

Redis缺点:

Redis只能在适合的场景,它局限在较小的数据量的高性能操作和运算上

 

希望此文章能对你有帮助,掰掰咯~

版权声明:本文由纵横四海博客发布,如需转载请注明出处。

部分资源整理自互联网,如侵权请联系站长删除!

本文链接:https://www.fxkgg.com/post/16.html

分享给朋友:

相关文章

thymeleaf笔记

基础语法文本标签 th:text/th:utext· 字符串拼接· *{...}和 ${...}表达式· #{...}表达式· ~{...}片段表达式· @{...}链接网址表达式· 条件判断 th:...

Layui数据表格导出身份证时后三位变为E+/000的解决办法(templet一句话搞定)

Layui数据表格导出身份证时后三位变为E+/000的解决办法(templet一句话搞定)

在使用layui自带的数据表格导出功能时,身份证后三位显示为000,导致数据表无法使用的情况,如下图:其实要解决的话,非常简单,万不可参照网上那种千篇一律的文章,即所谓的插件包,比如这样:https:...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。