redis在微博与微信等互联网应用笔记
Redis实战redis在微博与微信等互联网应用实例讲解全集
1. 对象缓存
| id | user | balance |
|---|---|---|
| 1 | john | 1200 |
| 2 | tom | 3000 |
对于这种存储,redis可以使用mset or hmset实现
mset user:{userId}:name john user:{userId}:balance:1200
mget user:{userId}:name user:{userId}:balance
mset user:1:name john user:1:balance:1200
mget user:1:name user:1:balance
hmset user {userId}:name john {userId}:balance 1888
hmget user {userId}:name {userId}:balance
hmset user 1:name john 1:balance 1888
hmget user 1:name 1:balance
2. 计数器
incr article:readcount:{文章id}
get article:readcount:{文章id}
3. web集群session共享
spring session + redis实现session共享
4. 分布式系统全局序列号
分库分表情况下,自行生成主键id,高并发情况下,每次批量取出1000个id存入内存中供使用,用完再取
INCRBY orderId 1000 //redis批量生成序列号提升性能
5. redis实现电商购物车


电商购物车
- 以用户id为key
- 商品id为field
- 商品数量为value
//向购物车添加商品
hset cart:1001 10099 1
hset cart:1001 20088 1
hset cart:1001 30088 1
//往存在购物车中的商品增加数量
hincrby cart:1001 10099 1
//获取购物车中商品的数目
hget cart:1001 10099
//获取购物车中存在的不同商品总数
hlen cart:1001
//删除商品
hdel cart:1001 10099
//获取所有商品
hgetall cart:1001
Hash结构优缺点
优点
1. 同类数据归类整合存储,方便数据管理
2. 相比string操作消耗内存与cpu更小
3. 相比string存储更节省空间
缺点
1. 过期功能不能使用在field,只能用在key上
2. redis集群架构下不适合大规模使用
队列的使用




set的使用









redis在微博与微信等互联网应用笔记的更多相关文章
- React Native 接入微博、微信、QQ 登录功能
在 App 开发中我们经常需要在用户登录模块接入 SNS 登录组件,这样会大大提高用户的注册体验.特别当一个不是刚性需求 App 推广的时候,这样会很大的降低用户体验的成本,没有人愿意忍受输入邮箱.手 ...
- wordpress自定义后台用户联系方式 添加qq、微博、微信
在 WordPress 后台,个人设置(Profile)中,可以设置电子邮件和 Website,如何添加国人常用的 QQ, 微博,微信呢? <?php /* Plugin Name: Custo ...
- 2019微信公开课Pro微信之夜内容笔记总结
2019微信公开课Pro 微信之夜内容笔记总结 小程序入口 我的小程序 任务栏入口 线下扫码 搜索小程序 附近小程序升级 用户留存问题 小程序成长 关注用户需求 性能监控 广告主&& ...
- 微信公众号开发笔记(C#)
这篇文章还不错,使用 .net , 对微信用户的想公众号发送的文字进行回复.比较简单,自己可以修改更复杂的回复. 微信公众号开发笔记(C#) 原文地址 需求分析 根据用户在微信上发送至价值中国公众号 ...
- 微信小程序练习笔记(更新中。。。)
微信小程序练习笔记 微信小程序的练习笔记,用来整理思路的,文档持续更新中... 案例一:实现行的删除和增加操作 test.js // 当我们在特定方法中创建对象或者定义变量给与初始值的时候,它是局部 ...
- 【微信小程序学习笔记】入门与了解
[微信小程序学习笔记(一)] IDE 下载安装 下载地址 官方工具:https://mp.weixin.qq.com/debug/w … tml?t=1476434678461 下载可执行文件后,可按 ...
- 微信小程序学习笔记二 数据绑定 + 事件绑定
微信小程序学习笔记二 1. 小程序特点概述 没有DOM 组件化开发: 具备特定功能效果的代码集合 体积小, 单个压缩包体积不能大于2M, 否则无法上线 小程序的四个重要的文件 *js *.wxml - ...
- 微信小程序学习笔记一 小程序介绍 & 前置知识
微信小程序学习笔记一 1. 什么是小程序? 2017年度百度百科十大热词之一 微信小程序, 简称小程序, 英文名 Mini Program, 是一种不需要下载安装即可使用的应用 ( 张小龙对其的定义是 ...
- redis pub/sub 实战: 微信语音识别
2015年5月22日 20:20:20 星期五 效果: 这边对微信说话, 浏览器端及时显示语音识别的文字 注意: 在连接socket.io时, 按下浏览器f12, 如果一直有请求不断的刷, 说明so ...
随机推荐
- Python机器学习常用库记录
1.argparse http://www.jianshu.com/p/fef2d215b91d 命令行解释工具 2.tflearn http://tflearn.org/doc_index/ ten ...
- 对TypeScript进行研究
1.npm install -g typescript 在编辑器,将下面的代码输入到greeter.ts文件里: function greeter(person) { return "Hel ...
- 2019春Python程序设计作业1(0319-0325)
判断题 1-1 在Python 3.x中可以使用中文作为变量名. (2分) T F Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型.(2分) T ...
- Codeforces 950E Data Center Maintenance ( 思维 && 强连通分量缩点 )
题意 : 给出 n 个点,每个点有一个维护时间 a[i].m 个条件,每个条件有2个点(x,y)且 a[x] != a[y].选择最少的 k (最少一个)个点,使其值加1后,m个条件仍成立. 分析 : ...
- 【转】Python Schema一种优雅的数据验证方式
转自 https://segmentfault.com/a/1190000011777230 Schema是什么? 不管我们做什么应用,只要和用户输入打交道,就有一个原则--永远不要相信用户的输入数据 ...
- Vue.js 使用 Font Awesome 小图标
1.安装 Font Awesome npm i --save @fortawesome/fontawesome-svg-core npm i --save @fortawesome/free-soli ...
- Oracle数据库锁表查询
--查看数据库最大连接数 select value from v$parameter where name = 'processes'; --更改数据库连接数 alter system scope = ...
- sqli-labs(11)
基于登录点的注入(小编这里傻逼了 可以直接用group_concat函数绕过显示问题我还在用limit绕过) 0X01这里我们的参数就不是在get的方法里面提交的了 我们遇到了全新的问题 那么该怎么 ...
- JS中集合对象(Array、Map、Set)及类数组对象的使用与对比(转载)
在使用js编程的时候,常常会用到集合对象,集合对象其实是一种泛型,在js中没有明确的规定其内元素的类型,但在强类型语言譬如Java中泛型强制要求指定类型. ES6引入了iterable类型,Array ...
- springboot 基于@Scheduled注解 实现定时任务
前言 使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式: 一.基于注解(@Scheduled) 二.基于接口(SchedulingConfigurer) 前者相信大家都很熟悉, ...