加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

架构秘籍:移花接木,行使MySQL模仿Redis

发布时间:2019-09-18 14:31:47 所属栏目:教程 来源:小姐姐养的狗
导读:这年初,你看到的对象未必就是你以为的对象。一个mysql协议的后头,也许是tidb;一个linux呆板后头,也许是一个精简的docker;你认为xjjdog是个女的,但也许ta本身也不太清晰;而当你大喊php万岁的时辰,也许是研发职员和你开个打趣,重写了后缀,尔后端用的

Redis zset 和 set 一样也是string范例元素的荟萃,且不应承一再的成员。差异的是每个元素城市关联一个double范例的分数。redis正是通过度数来为荟萃中的成员举办从小到大的排序。它的底层布局是跳跃表,服从出格高,可是会占用大量内存。

计划专用的数据库表rstore_zset,个中,rkey和member是连系主键。

  1. rkey        varchar 
  2. member        varchar 
  3. score     double 
  4. lastTime    bigint 

zadd操纵

  1. insert into rstore_zset("rkey","member","score","lastTime") values($1,$2,$3,$4) on duplicate key update update set "score"=$3,"lastTime"=$4 

zscore操纵

  1. select score from rstore_zset where "rkey" = $1 and "member" = $2 

zrem操纵

  1. delete from rstore_zset where "rkey" = $1 and "member" = $2" 

zcard,exists操纵

  1. select count(*) as num from rstore_zset where "rkey" = $1 

zcount操纵

  1. select count(*) as num from rstore_zset where "rkey" = $1 and score>=$2 and score<=$3 

zremrangebyscore操纵

  1. delete from rstore_zset where "rkey" = $1 and score>=$2 and score<=$3 

zrangebyscore操纵

  1. select member,score from rstore_zset 
  2. where "rkey" = $1 and score>=$2 and score<=$3 order by score asc,member asc 

zrange操纵

  1. select member,score from rstore_zset 
  2. where "rkey" = $1 order by score asc offset $2 limit $3 

zrank操纵

  1. select rank from (select member,rank() over (order by "score" asc, "lastTime" asc) as rank from rstore_zset where "rkey" = $1 ) m where m."member"= $2; 

ttl操纵

  1. select max(lastTIme) from rstore_zset  where  "rkey" = $1 

del操纵

  1. delete from rstore_zset where "rkey" = $1 

set计划

  1. rkey        varchar 
  2. member        varchar 
  3. lastTime    bigint 

sadd操纵

  1. insert into rstore_set("rkey","member","lastTime") values($1,$2,$3) 
  2. on duplicate key update update set "lastTime"=$3 

scard操纵

  1. select count(*) as num from rstore_set where "rkey" = $1 

sismember操纵

  1. select member from rstore_set where "rkey" = $1 and "member" = $2 

smembers操纵

  1. select member from rstore_set where "rkey" = $1 

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读