Redis(一)--- 概述
使用redis很长时间了,但只是限于使用,一直也没有进行系统的学习与底层研究,现系统的学习一下redis并记录笔记。
Redis
1、Nosql 非关系型数据库,key-value键值对存贮。
2、内存型数据库,支持持久化,可将数据保存在硬盘上。
3、单线程处理请求,但采用io多路复用技术。
4、读写性能好,支持集群。
Redis数据类型
1、String 类型:最基础的数据类型,简单的key-value键值对,value可以是任何数据,不限制类型,但大小最多不能超过512M。
2、list 类型:列表类型,类似一个队列,左侧为表头,右侧为表尾,左右两侧都可以插入数据;底层实现为链表。
3、set 类型:无序集合类型,key-values 集合,values内部的元素不重复。
4、zset 类型:有序集合类型,数据结构类似于java中的Map<String,List<Object>>,key-values结构,values内部元素有序。
5、hash 类型:hash表结构,类似于java中的Map<String,Map<String,Object>>。
Redis持久化方式
1、RDB持久化:快照snapshot持久化方式,把当前内存中的数据集快照写入硬盘,恢复数据时直接读取硬盘上的快照文件。
2、AOF持久化:通过记录redis服务器所执行的写命令日志进行持久化,恢复数据是,执行保存的写命令进行数据恢复。
Redis过期删除策略
1、redis存入数据时可以设置过期时间,如果不设置,则永不过期;
2、redis到期删除策略是定期随机抽样+惰性删除。
Redis内存淘汰机制
1、no-enviction:禁止淘汰数据,内存不足则报错。
2、allkeys-random:从内存数据集中随机淘汰数据。
3、allkey-lru:从内存数据集中淘汰最近最少使用数据(最常用)。
4、volatile-random:从设置过过期时间的数据集中随机淘汰数据,未设置过期时间的数据不受影响。
5、volatile-lru:从设置过过期时间的数据集中淘汰最近最少使用数据。
6、volatile-ttl:从设置过过期时间的数据集中淘汰将要过期的数据。
Redis(一)--- 概述的更多相关文章
- Redis数据库概述
Redis数据库概述 Redis是什么 redis是一个高性能的key-value存储系统.支持的value类型相对更多,包括string,list,set,zset(sorted set --有序集 ...
- Redis入门--(二)Redis的概述
1.Redis的由来 创始人觉得Mysql不好用,就自己写了: 国内使用Redis的网站有新浪微博,知乎: 国外GitHub: VMWare也支持redis的开发 2.Redis的概述 官方提供的测试 ...
- Redis的概述、优势和安装部署
Redis概述 Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的应用程序的完美解决方案. Redis从它的许多竞争继承来的三个主要特点: Redis数据库完全在内存中,使 ...
- java 框架-缓冲-Redis 1概述
https://www.jianshu.com/p/56999f2b8e3b Redis 概述 在我们日常的Java Web开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在 ...
- redis入门概述
一.是什么 redis:REmote DIctionary Server(远程字典服务器).是完全开源免费的,是用C语言编写的,遵守BSD协议,是一个高性能(key/value)分布式内存数据库,基 ...
- Redis总体 概述,安装,方法调用
1 什么是redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset( ...
- Redis(一):概述
1.Redis解释 Redis 是一个基于key-value形式进行存储的内存型数据库. 1.1 数据存储方式为key-value 1.2 数据存储在内存中. 1.2.1 优点:效率高.理论值:每秒1 ...
- Redis的概述和简单使用(转载)
文章来源:http://jingyan.baidu.com/article/db55b60996d0124ba30a2f92.html Redis是一个基于key-value的高速缓存系统,类似于me ...
- Redis 01 概述
参考源 https://www.bilibili.com/video/BV1S54y1R7SB?spm_id_from=333.999.0.0 版本 本文章基于 Redis 6.2.6 简介 NoSQ ...
- Redis概述与基本操作
redis教程 概述 redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(strin ...
随机推荐
- WebBrowser执行脚本和调用外部方法
控制WebBrowser实际上就是控制IE,最简单的方法就是执行javascript或vbscript,省去了接口的转换.如何执行脚本?以前我一直用mshtml中IHTMLWindow2接口的exec ...
- Delphi产生任务栏图标【TNotifyIconData】
一.新建一个应用程序:File->New Applicaton 在Interface部分要放在Uses Message之后,定义一个消息常量:const WM_NID=WM_USER+1000; ...
- qt实现-给SQLITE添加自定义函数(对某个字段进行加密)
需要使用sqlite里的password对某个字段进行加密,由于使用的sqlite是由QT封装好的QSqlDatabase,没有发现加载扩展函数的方法,所以自己实现了一个. 在网上也没找到相应的参考, ...
- Realm_King 之 .NET 打包详细教程(B)
上篇(Realm_King 之 .NET 打包详细教程(A))给大家讲述了打包基本的操作,接下来帮助大家如何覆盖安装,希望大家仔细阅读... (一)看到你的解决方案,选中你的安装程序,点击F4会弹出改 ...
- Google地图下载工具代码
// // Google Map Tiles Downloader in C# by coolypf // No rights reserved, neither warranty nor guara ...
- mvc中Scripts.Render的用法
第一次接触新的东西,都会很陌生,但是时间久了就熟悉了变简单了. 视图文件中使用Scripts.Render()输出脚本包,Styles.Render()输出样式包 上面两张图是我所做项目里的,放上面会 ...
- c# 自己实现可迭代的容器
在c#中我们经常使用到foreach语句来遍历容器,如数组,List,为什么使用foreach语句能够遍历一个这些容器呢,首先的一个前提是这些容器都实现了IEnumerable接口,通过IEnumer ...
- Java连载2-Java特性
一.JDK 1.含义:Java开发工具包. 2.做Java开发之前必须安装的一个工具包,下载地址:https://www.oracle.com/index.html 3.Java包括三大块内容: ( ...
- java请求转发,响应重定向的区别
请求转发:request.getRequestDispatcher().forward(); 例:request.getRequestDispatcher("/index.jsp" ...
- 什么是JDK什么是JRE?JDK和JRE的关系
什么是JDK什么是JRE?JDK和JRE的关系 我们看看来自百度百科的解释: JDK是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心 ...