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实现电商购物车

电商购物车

  1. 以用户id为key
  2. 商品id为field
  3. 商品数量为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在微博与微信等互联网应用笔记的更多相关文章

  1. React Native 接入微博、微信、QQ 登录功能

    在 App 开发中我们经常需要在用户登录模块接入 SNS 登录组件,这样会大大提高用户的注册体验.特别当一个不是刚性需求 App 推广的时候,这样会很大的降低用户体验的成本,没有人愿意忍受输入邮箱.手 ...

  2. wordpress自定义后台用户联系方式 添加qq、微博、微信

    在 WordPress 后台,个人设置(Profile)中,可以设置电子邮件和 Website,如何添加国人常用的 QQ, 微博,微信呢? <?php /* Plugin Name: Custo ...

  3. 2019微信公开课Pro微信之夜内容笔记总结

    2019微信公开课Pro 微信之夜内容笔记总结 小程序入口 我的小程序 任务栏入口 线下扫码 搜索小程序 附近小程序升级 用户留存问题 小程序成长 关注用户需求 性能监控   广告主&& ...

  4. 微信公众号开发笔记(C#)

    这篇文章还不错,使用  .net , 对微信用户的想公众号发送的文字进行回复.比较简单,自己可以修改更复杂的回复. 微信公众号开发笔记(C#) 原文地址 需求分析 根据用户在微信上发送至价值中国公众号 ...

  5. 微信小程序练习笔记(更新中。。。)

    微信小程序练习笔记 微信小程序的练习笔记,用来整理思路的,文档持续更新中... 案例一:实现行的删除和增加操作  test.js // 当我们在特定方法中创建对象或者定义变量给与初始值的时候,它是局部 ...

  6. 【微信小程序学习笔记】入门与了解

    [微信小程序学习笔记(一)] IDE 下载安装 下载地址 官方工具:https://mp.weixin.qq.com/debug/w … tml?t=1476434678461 下载可执行文件后,可按 ...

  7. 微信小程序学习笔记二 数据绑定 + 事件绑定

    微信小程序学习笔记二 1. 小程序特点概述 没有DOM 组件化开发: 具备特定功能效果的代码集合 体积小, 单个压缩包体积不能大于2M, 否则无法上线 小程序的四个重要的文件 *js *.wxml - ...

  8. 微信小程序学习笔记一 小程序介绍 & 前置知识

    微信小程序学习笔记一 1. 什么是小程序? 2017年度百度百科十大热词之一 微信小程序, 简称小程序, 英文名 Mini Program, 是一种不需要下载安装即可使用的应用 ( 张小龙对其的定义是 ...

  9. redis pub/sub 实战: 微信语音识别

    2015年5月22日 20:20:20 星期五 效果: 这边对微信说话,  浏览器端及时显示语音识别的文字 注意: 在连接socket.io时, 按下浏览器f12, 如果一直有请求不断的刷, 说明so ...

随机推荐

  1. Python机器学习常用库记录

    1.argparse http://www.jianshu.com/p/fef2d215b91d 命令行解释工具 2.tflearn http://tflearn.org/doc_index/ ten ...

  2. 对TypeScript进行研究

    1.npm install -g typescript 在编辑器,将下面的代码输入到greeter.ts文件里: function greeter(person) { return "Hel ...

  3. 2019春Python程序设计作业1(0319-0325)

    判断题 1-1 在Python 3.x中可以使用中文作为变量名. (2分) T         F Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型.(2分) T     ...

  4. Codeforces 950E Data Center Maintenance ( 思维 && 强连通分量缩点 )

    题意 : 给出 n 个点,每个点有一个维护时间 a[i].m 个条件,每个条件有2个点(x,y)且 a[x] != a[y].选择最少的 k (最少一个)个点,使其值加1后,m个条件仍成立. 分析 : ...

  5. 【转】Python Schema一种优雅的数据验证方式

    转自 https://segmentfault.com/a/1190000011777230 Schema是什么? 不管我们做什么应用,只要和用户输入打交道,就有一个原则--永远不要相信用户的输入数据 ...

  6. Vue.js 使用 Font Awesome 小图标

    1.安装 Font Awesome npm i --save @fortawesome/fontawesome-svg-core npm i --save @fortawesome/free-soli ...

  7. Oracle数据库锁表查询

    --查看数据库最大连接数 select value from v$parameter where name = 'processes'; --更改数据库连接数 alter system scope = ...

  8. sqli-labs(11)

    基于登录点的注入(小编这里傻逼了 可以直接用group_concat函数绕过显示问题我还在用limit绕过) 0X01这里我们的参数就不是在get的方法里面提交的了  我们遇到了全新的问题 那么该怎么 ...

  9. JS中集合对象(Array、Map、Set)及类数组对象的使用与对比(转载)

    在使用js编程的时候,常常会用到集合对象,集合对象其实是一种泛型,在js中没有明确的规定其内元素的类型,但在强类型语言譬如Java中泛型强制要求指定类型. ES6引入了iterable类型,Array ...

  10. springboot 基于@Scheduled注解 实现定时任务

    前言 使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式: 一.基于注解(@Scheduled) 二.基于接口(SchedulingConfigurer) 前者相信大家都很熟悉, ...