Redis知识总结
1.什么是Redis
Redis是一个nosql(not only sql 不仅仅只有sql)数据库,翻译成中文叫做非关系型数据库,低由C语言开发,数据模型为key-value
关系型数据库:以二维表存储数据
非关系型数据库:以键值对(Key,Value)形式存储数据
Redis是一家意大利的创业公司出的,后被VMware公司赞助,Redis底层由c语言编写
Redis是将数据存放到内存中,由于内存中的存取速度高于硬盘(固态硬盘,机械硬盘)存储数据,所以Redis被广泛应用于互联网项目中
Redis优点:存取速度快,官方称读数据速度会达到30万次/秒,写数据在10万次/秒,具体限制于硬件
Redis缺点:对持久化支持不够好
所以Redis一般不作为数据的主数据库存储,一般配合传统的关系型数据库使用
2.Redis应用领域
分布式缓存
分布式session
保存博客或者论坛的留言回复等
总之是用在数据量大,并发量高的情况下
3.Redis怎么用
Redis主要就是使用命令来进行操作,Java中在代码里可以使用Jedis来操作Redis服务器
Redis数据类型分为以下几种
- 字符串 String
- 列表list:Redis中使用的是双向循环链表来实现list,在Redis中更像栈
- 散列Hash:一般应用于将Redis作为分布式缓存,存储数据中的数据对象
- 集合set:set中数据是无序的并且不重复
- 有序集合zset:Redis中会根据分数自动排序,这里可以使用在学生成绩排序,或者是手机应用商店流行软件排名等需求中
4.Redis持久化方案
rdb:可以设置间隔多长时间保存一次(Redis不用任何配置默认的持久化方案)
优点:让Redis的数据存取速度变快(保存速度会很慢)
缺点:服务器断电时会丢失部分数据(数据的完整性得不到保障)
aol:可以设置实时保存
优点:持久化良好,能够保证数据完整性
缺点:大大降低了Redis的存取速度
一般企业用rdb
5.主从复制
这里使用了心跳(ping pong)检测机制,主从复制必须是使用rdb持久化方式
从服务器一般是只读的,保证主从服务器中的数据一致性
6.缓存方式分为两种
数据缓存和页面缓存(smarty)
7.Redis和memcache比较
①Redis不仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash数据结构的存储
②Redis支持master-slave(主从)模式应用
③Redis支持数据的持久化,可以将内存中数据保存在磁盘中,重启的时候可以再次加载使用
④Redis单个value的最大限制是1GB,memcache只能保存1MB的数据
注:以上为博主查阅多方资料并尝试总结所得,如需转载,请标注来源,尊重劳动成果,谢谢!
Redis知识总结的更多相关文章
- Redis知识整理
Redis知识整理 转自:https://www.cnblogs.com/rjzheng/p/9096228.html 1.单线程模型 Redis客户端对服务端的每次调用都经历了发送命令,执行命令,返 ...
- [Redis知识体系] 一文全面总结Redis知识体系
本系列主要对Redis知识体系进行详解.@pdai Redis教程 - Redis知识体系详解 知识体系 学习资料 知识体系 知识体系 相关文章 首先,我们通过学习Redis的概念基础,了解它适用的场 ...
- redis知识
http://www.cnblogs.com/moon521/p/5301895.html 菜鸟教程:http://www.runoob.com/redis/redis-tutorial.html
- Spring-data-redis操作redis知识汇总
什么是spring-data-redis spring-data-redis是spring-data模块的一部分,专门用来支持在spring管理项目对redis的操作,使用java操作redis最常用 ...
- 进阶-Redis 知识梳理
redis介绍 1.什么是NoSQL NoSQL(统称),泛指非关系型的数据库,NoSQL即Not-Only SQL,它可以作为关系型数据库的良好补充. 2.NoSQL数据库的四大分类如下: 键值(K ...
- Spring-data-redis操作redis知识总结
什么是spring-data-redis spring-data-redis是spring-data模块的一部分,专门用来支持在spring管理项目对redis的操作,使用java操作redis最常用 ...
- Redis 知识整理
1. 什么是Redis Redis是开源的.基于内存的键值对数据库. 2. Redis 的基本操作 set key value => mset, setbit, hset get key =&g ...
- redis知识汇总
redis是一个内存数据库,使用key-value形式在内存中管理数据. 一.redis使用场景 1.热数据存储.对于需要频繁读写的数据,可以放到redis中,不用频繁的请求数据库.再设置策略持久化到 ...
- redis知识积累
redis 安装包:redis-3.0.6.tar.gz 打开 redis: cd /media/deepl/文档/ubuntutools/redis-3.0.6/src/ ./redis-serve ...
- redis知识总汇
redis基础 django-redis redis数据操作详解 redis持久化
随机推荐
- c语言二维数组的转置
#include <stdio.h> #include <string.h> #include <stdlib.h> #define maxsize 3 #defi ...
- Data Science and Matrix Optimization-课程推荐
课程介绍:Data science is a "concept to unify statistics, data analysis, machine learning and their ...
- MongoDB快速入门教程(3.1)
3.MongoDB进阶 3.1.权限验证 以下内容适用于Mac系统用户,window系统用户请看后面文档 3.1.1.创建超级管理员用户 默认情况下连接mongodb是不需要用户名和密码的,这样不安全 ...
- java.math.BigDecimal cannot be cast to [Ljava.lang.Object;
从数据库中使用sum函数取出统计值后,放进list中,遍历list的时候强转化成Object是报错. BigDecimal .Integer不是基本类型,是int的包装类,无法把包装当做基本类型来用. ...
- 学习 Spring Boot 知识看这一篇就够了
从2016年因为工作原因开始研究 Spring Boot ,先后写了很多关于 Spring Boot 的文章,发表在技术社区.我的博客和我的公号内.粗略的统计了一下总共的文章加起来大概有六十多篇了,其 ...
- C++ 简单的UDP客户端与服务端
.h #pragma once #ifndef __C_UDP_OBJECT_H__ #define __C_UDP_OBJECT_H__ #define OS_PLATFORM_WIN #inclu ...
- python基础知识-1
1.python是静态的还是动态的?是强类型还弱类型? python是强类型的动态脚本语言: 强类型:不允许不同类型相加 动态:不使用显示类型声明,且确定一个变量的类型是在第一次给它赋值的时候 脚本语 ...
- 相邻元素之间的margin合并问题
任何元素都可以设置border 设置宽高可能无效 行内元素设置padding,margin上下是无效的,左右是有效的 外边距合并:指的是,当两个垂直外边距相遇时,它们将形成一个外边距. 合并后的外边距 ...
- 「树形DP」洛谷P2607 [ZJOI2008]骑士
P2607 [ZJOI2008]骑士 题面: 题目描述 Z 国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬. 最近发生了一件可怕的事情,邪恶的 ...
- 选课系统<基于面向过程\对象>
2020-04-15 00:09:28 程序目录: import os BASE_PATH=os.path.dirname(os.path.dirname(__file__)) DB_PATH=os. ...