0717-7821348
新闻中心

欢乐彩app安卓版

您现在的位置: 首页 > 新闻中心 > 欢乐彩app安卓版
欢乐彩手机版下载-在微博微信场景下学习Redis数据结构
2019-12-19 01:50:07

Redis装置

下载地址:http://redis.io/download
装置过程:
1、yum install gcc
2、wget http://download.redis.io/releases/redis‐5.0.3.tar.gz
tar xzf redis‐5.0.3.tar.gz
cd redis‐5.0.3
3、make
4、src/redis‐server redis.conf(留意要运用后台发动,所以修正redis.conf里的daemonize改为y
es)
5、ps ‐ef | grep redis
6、src/redis‐cli

Redis中心数据结构以及运用场景

String结构

  • 字符串常用操作
SET key value //存入字符串键值对
MSET key value [key value ...] //批量存储字符串键值对
SETNX key value //存入一个不存在的字符串键值对
GET key //获取一个字符串键值
MGET key [key ...] 欢乐彩手机版下载-在微博微信场景下学习Redis数据结构//批量获取字符串键值
DEL key [key ...] //删去一个键
EXPIRE key seconds //设置一个键的过期时刻(秒)
  • 原子加减
INCR key //将key中贮存的数字值加1
DECR key //将key中贮存的数字值减1
INCRBY key increment //将key所贮存的值加上increment
DECRBY key decrement //将key所贮存的值减去decrement
  • String运用场景

这个是微信大众号的文章阅览量数量的核算,能够经过redis的string数据结构来处理。运用incr原子操作指令,redis的key是article:readcount:{文章id},当该文章被阅览时,调用incr指令,阅览数量加一,经过get该redis的key,完成文章阅欢乐彩手机版下载-在微博微信场景下学习Redis数据结构览数量核算的功用。

incr article:readcount:{文章id}
get article:readcount:{文章id}

Hash结构

  • Hash常用操作
HSET key field value //存储一个哈希表key的键值
HSETNX key field value //存储一个不存在的哈希表key的键值
HMSET key field value [field value ...] //在一个哈希表key中存储多个键值对
HGET key field //获取哈希表key对应的field键值
HMGET key field [field ...] //批量获取哈希表key中多个field键值
HDEL key field [field ...] //删去哈希表key中的field键值
HLEN key //回来哈希表key中field的数量
HGETALL key //回来哈希表key中一切的键值
HINCRBY key field increment //为哈希表key中field键的值加上增量increment
  • Hash运用场景

这个是京东购物车的截图,能够看到许多功用都用redis的指令可来完成。在redis中保存对产品id、购物车id等等id的操作,在前端保存关于该产品的描绘,在操作购物车的时分,底层其实便是操作redis的指令。

增加产品:hset cart:1001 1088 1
增加数量:hincrby cart:1001 1088 1
产品总数:hlen cart:1001
删去产品:hdel cart:1001欢乐彩手机版下载-在微博微信场景下学习Redis数据结构 1008
获取购物车一切产品: hgetall cart:1001
  • Hash优缺陷
  • 长处:同类数据归类整合存储,便利数据管理,比较string操作耗费内存与cpu更小
  • 缺陷:过期功用上不能运用在field上,只能运用在key上

List结构

  • List常用操作
LPUSH key value [value ...] //将一个或多个值value刺进到key列表的表头(最左面)
RPUSH key value [value ...] //将一个或多个值value刺进到key列表的表尾(最右边)
LPOP key //移除并回来key列表的头元素
RPOP key //移除并回来key列表的尾元素
LRANGE key start stop //回来列表key中指定区间内的元素,区间以偏移量start和stop指定
BLPOP key [key ...] timeout //从key列表表头弹出一欢乐彩手机版下载-在微博微信场景下学习Redis数据结构个元素,若列表中没有元素,堵塞等候,timeout秒,假如timeout=0,一向堵塞等候
BRPOP key [key ...] timeout //从key列表表尾弹出一个元素,若列表中没有元素,堵塞等候,timeout秒,假如timeout=0,一向堵塞等候
  • List的运用场景

这是咱们常常运用的新浪微博,咱们看在微博文章中怎么运用redis的list数据结欢乐彩手机版下载-在微博微信场景下学习Redis数据结构构。新浪微博是运用redis的大户,据在新浪作业的朋友说,新浪运用redis的总容量超越500T,可想而知简直70%的功用都在redis中操作。

"小米手机"发微博,音讯id为1001,运用的redis指令是:

LPUSH msg:{小强-id} 1001

"号外长沙"发微博,音讯id为1002,运用的redis指令是:

LPUSH msg:{小强-id} 1002

小强检查最新10条的新浪微博音讯:

LRANGE msg:{小强-id} 0 10

Set结构

  • Set常用操作
SADD key member [member ...] //往调集key中存入元素,元素存在则疏忽,若key不存在则新建
SREM key member [member ...] //从调集key中删去元素
SMEMBERS key //获取调集key中一切元素
SCARD key //获取调集key的元素个数
SISMEMBER key member //判别member元素是否存在于调集key中
SRANDMEMBER key [count] //从调集key中选出count个元素,元素不从key中删去
SPOP key [count] //从调集key中选出count个元素,元素从key中删去
  • Set运算操作
SINTER key [key ...] //交集运算
SINTERSTORE destination key [key ..] //将交集成果存入新调集destination中
SUNION key [key ..] //并集运算
SUNIONSTORE destination key [key ...] //将并集成果存入新调集destination中
SDIFF key [key ...] //差集运算
SDIFFSTORE destination key [key ...] //将差集成果存入新调集destination中
  • Set运用场景

运用这个抽奖界面作为set的运用场景的比如,信任咱们对这个界面都很了解,微信小程序的“抽奖”功用,这个是运用redis的set数据结构的典型场景。当用户点击“参加抽奖”,也便是把将用户ID参加调集中:

SADD key {userID}

检查参加抽奖的一切用户:

SMEMBERS key

抽取count名中奖用户

SRANDMEMBER key [count]

Zse天伦之乐t有序调集结构

  • ZSet常用操作
ZADD key score member [[score member]…] //往有序调集key中参加带分值元素
ZREM key member [member …] //从有序调集key中删去元素
ZSCORE key member //回来有序调集key中元素member的分值
ZINCRBY key increment member //为有序调集key中元素member的分值加上increment
ZCARD key //回来有序调集key中元素个数
ZRANGE key start stop [WITHSCORES] //正序获取有序调集key从start下标到stop下标的元素
ZREVRANGE key start stop [WITHSCORES] //倒序获取有序调集key从start下标到stop下标的元素
  • Zset运用场景

微博热搜榜处处运用到了Redis的有序调集这个数据结构,咱们都知道有序调集是对调集的一个扩展,增加了score字段。经过score字段,咱们能够选出最大或许最小的topN,这样就有了排行榜,假如用传统的数据库去完成这个功用,估量对数据功能的耗费非常大。

1)点击新闻
ZINCRBY hotNews:20190819 1 乌镇十二时辰
2)展现当日排行前十
ZREVRANGE hotNews:20190819 0 10 WITHSCORES
3)七日查找榜单核算
ZUNIONSTORE hotNews:20190813-20190819 7
hotNews:20190813 hotNews:20190814... hotNews:20190819
4)展现七日排行前十
ZREVRANGE hotNews:20190813-20190819 0 10 WITHSCORES

》》》比较欣赏,更喜爱被转发