使用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(一)--- 概述的更多相关文章

  1. Redis数据库概述

    Redis数据库概述 Redis是什么 redis是一个高性能的key-value存储系统.支持的value类型相对更多,包括string,list,set,zset(sorted set --有序集 ...

  2. Redis入门--(二)Redis的概述

    1.Redis的由来 创始人觉得Mysql不好用,就自己写了: 国内使用Redis的网站有新浪微博,知乎: 国外GitHub: VMWare也支持redis的开发 2.Redis的概述 官方提供的测试 ...

  3. Redis的概述、优势和安装部署

    Redis概述 Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的应用程序的完美解决方案. Redis从它的许多竞争继承来的三个主要特点: Redis数据库完全在内存中,使 ...

  4. java 框架-缓冲-Redis 1概述

    https://www.jianshu.com/p/56999f2b8e3b Redis 概述 在我们日常的Java Web开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在 ...

  5. redis入门概述

    一.是什么 redis:REmote  DIctionary Server(远程字典服务器).是完全开源免费的,是用C语言编写的,遵守BSD协议,是一个高性能(key/value)分布式内存数据库,基 ...

  6. Redis总体 概述,安装,方法调用

    1 什么是redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset( ...

  7. Redis(一):概述

    1.Redis解释 Redis 是一个基于key-value形式进行存储的内存型数据库. 1.1 数据存储方式为key-value 1.2 数据存储在内存中. 1.2.1 优点:效率高.理论值:每秒1 ...

  8. Redis的概述和简单使用(转载)

    文章来源:http://jingyan.baidu.com/article/db55b60996d0124ba30a2f92.html Redis是一个基于key-value的高速缓存系统,类似于me ...

  9. Redis 01 概述

    参考源 https://www.bilibili.com/video/BV1S54y1R7SB?spm_id_from=333.999.0.0 版本 本文章基于 Redis 6.2.6 简介 NoSQ ...

  10. Redis概述与基本操作

    redis教程 概述 redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(strin ...

随机推荐

  1. c# 查询本机可用的代理ip

    现在有很多网站都提供免费的代理ip,但是你会发现很多网站显示的可以用的 ,在自己电脑上是用不了,写个小代码提取出自己电脑上可以用的代理,没什么技术含量,只是为了记录一下 string strUrl = ...

  2. OSGEarth环境搭建

    1.下载OsgEaarth2.8源码 https://codeload.github.com/gwaldron/osgearth/legacy.zip/osgearth-2.8 2.下载perl 编译 ...

  3. sql关联查询—将一个表的查询结果作为新表进行查询操作

    例题:#  各个部门中 最高工资中最低的那个部门的 最低工资是多少? 先考虑取得各个部门最高工资 SELECT MAX(salary) AS max_salary,e.`department_id` ...

  4. 15 BOM的介绍

    avaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象模型,操作网页上的元素的API.比 ...

  5. 推荐一个Redis管理工具

    Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.它支持字符串.哈希表.列表.集合.有序集合,位图,hyperloglogs等数据类型.内置复制.Lu ...

  6. 100天搞定机器学习|Day1数据预处理

    数据预处理是机器学习中最基础也最麻烦的一部分内容 在我们把精力扑倒各种算法的推导之前,最应该做的就是把数据预处理先搞定 在之后的每个算法实现和案例练手过程中,这一步都必不可少 同学们也不要嫌麻烦,动起 ...

  7. RobotFramework + HTTP接口自动化实现

    一.          什么是自动化测试? 1.      定义 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,也可以说是软件测试的一种技术手段. 2.      常见工具 Appium ...

  8. 吐槽:那些Java设计中不得不说的槽点

    1. 求长度各有千秋 你是否曾经在面试的时候,经常被问到:数组有没有 length() 方法?字符串有没有 length() 方法? 集合有没有 length() 方法? 面对这个问题,那么不得不吐槽 ...

  9. 关于java中构造方法、实例初始化、静态初始化执行顺序

    在Java笔试中,构造方法.实例初始化.静态初始化执行顺序,是一个经常被考察的知识点. 像下面的这道题(刚刚刷题做到,虽然做对了,但是还是想整理一下) 运行下面的代码,输出的结果是... class ...

  10. C++ 洛谷 P1731 [NOI1999]生日蛋糕

    P1731 [NOI1999]生日蛋糕 一本通上也有. 这TM是一道极其简单的深搜剪枝(DP当然可以的了,这里我只讲深搜). 首先圆柱公式:(有点数学基础都知道) V=πR2H S侧=π2RH S底= ...