Redis使用及优化入门
Redis的优势
- MySQL读写慢,Redis内存数据库,读写速度快。
- 少量的数据要经常读写,尤其是读操作,读写速度要求高。
- 丰富的数据结构,Redis支持5种数据结构,MySQL字段变化,需要手动维护,比较繁琐。
- 数据持久化,数据全部放在内存,不安全。
- Redis操作是原子性的,支持对几个操作合并后的原子操作,还支持事务。
Redis数据结构
1. string
Key=>Value(string)
Redis是二进制安全,可以接收任何二进制数据,例如JPEG图片或者JSON字符串,数据长度512M
key Value
Tom 98
Red 94
Jack 80
应用场景:电商网站商品分类
细节:访问频率高,数据不经常变动,放在Redis
Key Value
"category" {"常用分类":A,"潮流女装":B,..}
具体流程
1、网络是否可用
2、通过API获取服务器中的Redis缓存
3、本地是否有缓存数据,有的话到5,没有到6
4、APP展示返回数据并在本地缓存
5、用本地缓存展示数据
6、显示网络不可用
hash 存储对象的数据
Key是唯一的,Value是一个hashmap结构
学号,对应一个学生的全部信息
string
key:学号 value:信息的JSON串
弊端:改信息需要遍历,增加了没必要的性能开销和复杂性
key:学号+字段(姓名,年龄等等) value:字段对应的值
弊端:大量的key-value,内存开销大
hash
hgetAll id
list 模拟队列操作
插入元素key不存在,创建新的链表,如果keu存在的话,往里面加value,如果链表中元素都移除,key从Redis移除
直接从头部到尾部或者从尾部插入,效率高,双向队列,从链表中遍历到指定位置,效率低。
轻量级消息队列
短信发送应用
set无序不重复集合
支持集合交集 并集 差集运算
Redis使用及优化入门的更多相关文章
- 浅谈SQL优化入门:3、利用索引
0.写在前面的话 关于索引的内容本来是想写的,大概收集了下资料,发现并没有想象中的简单,又不想总结了,纠结了一下,决定就大概写点浅显的,好吧,就是懒,先挖个浅坑,以后再挖深一点.最基本的使用很简单,直 ...
- Redis Cluster架构优化
Redis Cluster架构优化 在<全面剖析Redis Cluster原理和应用>中,我们已经详细剖析了现阶段Redis Cluster的缺点: 无中心化架构 Gossip消息的开销 ...
- 斜率优化入门学习+总结 Apio2011特别行动队&Apio2014序列分割&HZOI2008玩具装箱&ZJOI2007仓库建设&小P的牧场&防御准备&Sdoi2016征途
斜率优化: 额...这是篇7个题的题解... 首先说说斜率优化是个啥,额... f[i]=min(f[j]+xxxx(i,j)) ; 1<=j<i (O(n^2)暴力)这样一个式子,首 ...
- Java系统高并发之Redis后端缓存优化
一:前端优化 暴露接口,按钮防重复(点击一次按钮后就变成禁用,禁止重复提交) 采用CDN存储静态化的页面和一些静态资源(css,js等) 二:Redis后端缓存优化 Redis 是完全开源免费的,遵守 ...
- 《SEO教程:搜索引擎优化入门与进阶(第3版)》
<SEO教程:搜索引擎优化入门与进阶(第3版)> 基本信息 作者: 吴泽欣 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115357014 上架时间:2014-7-1 出 ...
- .NET 环境中使用RabbitMQ RabbitMQ与Redis队列对比 RabbitMQ入门与使用篇
.NET 环境中使用RabbitMQ 在企业应用系统领域,会面对不同系统之间的通信.集成与整合,尤其当面临异构系统时,这种分布式的调用与通信变得越发重要.其次,系统中一般会有很多对实时性要求不高的 ...
- [转帖]美团在Redis上踩过的一些坑-4.redis内存使用优化
美团在Redis上踩过的一些坑-4.redis内存使用优化 博客分类: 运维 redis redisstringhash优化segment-hash 转载请注明出处哈:http://carlosfu ...
- NoSQL 之 Redis配置与优化
NoSQL 之 Redis配置与优化 1.关系数据库与非关系型数据库概述 2.关系数据库与非关系型数据库区别 3.非关系型数据库产生背景 4.Redis简介 5.Redis安装部署 6.Redis 命 ...
- NoSQL之Redis配置与优化
NoSQL之Redis配置与优化 目录 NoSQL之Redis配置与优化 一.关系数据库和非关系数据库 1. 关系型数据库 2. 非关系型数据库 3. 非关系型数据库产生背景 4. 关系型数据库和非关 ...
随机推荐
- 纯html、css3、js的时钟
之前在网上看了一些使用js写的时钟,但感觉实现的方法有点麻烦,所以就自己重新写了一个例子,样子有点丑,但方法比较简单,大家就凑合看吧 其中采用的主要方法是原生js里面的Data(时期)对象,以及它的. ...
- 多线程迭代之——LINQ to TaskQuery
平时经常会迭代集合,如果数据多的话会很耗时. 例子: , , }; list.ForEach(a => DoSomething(a)); void DoSomething(int a) { // ...
- mbed学习之 PWMOUT
PWM通过一个周期内不同占空比来表征模拟量,应用非常广泛.mbed中提供了一个PWM类,来对PWM进行操作,可以分别设置占空比,周期,以及脉冲宽度. 因为这里是使用单片机内部TIM来生成PWM波的,所 ...
- 客户端使用java,服务端使用c++的corba编程环境搭建
我们先用c++实现服务端和客户端,然后再用java编写客户端. 1. 首先安装omniORB,omniORB提供 omniidl命令,以及一些头文件和库. omniORB一般是需要你自己进行编译. 2 ...
- C#如何反射出委托的签名,如何使用反射调用委托
本文阐述C#中如何反射出委托的签名,假如我们有委托FooDelegate定义如下 delegate double FooDelegate (string param, bool condition); ...
- 解决VS2015启动时Package manager console崩溃的问题 - Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope
安装VS2015,启动以后,Package manager console崩溃,错误信息如下: Windows PowerShell updated your execution policy suc ...
- Sublime一键预览
//chrome{ "keys": [ "f12" ], "command": "side_bar_files_open_with ...
- 腾达和小云无线路由中继(WISP)解决
记录一下: ============================================ A路由为主路由-接光纤 (小云智能路由) B路由为中继放大(腾达),B路由的电脑 有线连接,网卡设 ...
- AjaxUpload跨域上传问题
1. 调用上传的html页面所在域名是 www.abc.com ,添加document.domain <script> document.domain = "abc.com&qu ...
- s3c2440 上txt 小说阅读器
文件结构 Makefile: CROSSCOMPILE := arm-linux- CFLAGS := -Wall -O2 -c LDFLAGS := -lm -lfreetype CC := $(C ...