非关系型数据库
文章平均质量分 58
key value 形式Nosql
document 文档形式Nosql
架构路上
热爱技术,望有朝一日能作技术路上的指路人。
展开
-
分布式限流(三)之 redis + lua 限流
redis + lua 脚本实现分布式限流redis环境搭建,请自行百度。windows搭建lua环境,参考链接:https://blog.csdn.net/weixin_41725792/article/details/113827606redis内置了lua解释器,我们在redis中可以使用redis 关键字 eval 运行Lua代码,如下:# eval 关键字# 脚本" return { KEYS[1],ARGV[1]} " # 2 参数个数# 参数 K1 K2 ,值 V1 V2eva原创 2021-02-16 23:30:52 · 749 阅读 · 3 评论 -
Lua的介绍和基本用法
环境搭建windows lua下载地址: https://github.com/rjpcomputing/luaforwindows/releases安装lua环境打开以上文件,直接下一步即可。Idea安装EmyLua插件我的idea版本是2019.1.1在线安装 。file -> settings -> plugins -> 搜索 emmaluaidea直接搜索。去 emmalua 官网 https://plugins.jetbrains.com/plugin/原创 2021-02-16 20:51:54 · 365 阅读 · 0 评论 -
redis分布式锁
redissonredisson和下列一下自行封装两种方式的区别(场景):redisson未获取到锁的会进入等待,直到获取到锁。另外两种方式如果未获取到锁,会放弃,不会执行业务代码。@Autowiredprivate Redisson redisson;@GetMapping("/redissonLock")public String redissonLock() { log.info("进入了方法"); RLock lock = redisson.getLock("re原创 2021-02-12 20:37:47 · 986 阅读 · 5 评论 -
分布式锁解决方案
Redis分布式锁1. 使用setNX 命令 + 过期时间 + lua脚本为什么要使用lua脚本?如果A程序执行过长,该key已经过期,当A执行完可能释放B的锁。图解如下:lua脚本if redis.call("get",KEYS[1]) == ARGV[1] then return redis.call("del",KEYS[1])else return 0 end mysql作为分布式锁**原理:**利用mysql innodb的行锁。select * from原创 2021-02-04 22:20:59 · 210 阅读 · 0 评论 -
redis -- 各种类型的底层数据结构
String 类型的底层数据结构redis外层结构(不含db):SDS这个下面又分为三种编码:int :假设操作系统为32位,超过2 ^ 31 - 1 则会转变成embstr,我这里时64位,2 ^ 63 - 1为 9223372036854775807在后面追加字符串则直接转换成row,如 append key valueembstrembstr是不可变的,如果使用append追加,则直接变成row少于44字节的字符串row (这里就不贴图了,情景上面都囊括了)原创 2020-11-25 18:10:54 · 276 阅读 · 0 评论 -
redis常见面试题合集
1.什么是 Redis?2.Redis 的数据类型?3.使用 Redis 有哪些好处?4.Redis 相比 Memcached 有哪些优势?5.Memcached 与 Redis 的区别都有哪些?6.Redis 是单进程单线程的吗?为何它那么快那么高效?7.一个字符串类型的值能存储最大容量是多少?8.Redis 的持久化机制是什么?各自的优缺点?9.Redis 常见性能问题和解决方案有哪些?10.Redis 过期键的删除策略?11.Redis 的回收策略(淘汰策略)?12.为什么Red原创 2020-11-25 18:10:08 · 240 阅读 · 0 评论 -
Redis热点Key发现及常见解决方案
Redis热点Key发现及常见解决方案转载自:Redis热点Key发现及常见解决方案一、热点Key问题产生的原因1、用户消费的数据远大于生产的数据(热卖商品、热点新闻、热点评论、明星直播)。在日常工作生活中一些突发的的事件,例如:双十一期间某些热门商品的降价促销,当这其中的某一件商品被数万次点击浏览或者购买时,会形成一个较大的需求量,这种情况下就会造成热点问题。同理,被大量刊发、浏览的热点新闻、热点评论、明星直播等,这些典型的读多写少的场景也会产生热点问题。2、请求分片集中,超过单 Server转载 2020-11-24 14:55:47 · 1677 阅读 · 0 评论 -
搭建redis主从复制/读写分离
redis原创 2020-11-23 22:03:23 · 210 阅读 · 0 评论 -
redis基本数据类型及其操作
redis常用基本数据结构key-valueset key value [ expiration EX seconds | PX milliseconds ] [ NX|XX ]// EX 秒 PX 毫秒 NX 不存在 XX 存在setnx a a // 表示a存在则不做操作,不存在则设置 等价于 后面跟上了NXkey-listkey-setkey-hashkey-zset工具命令expire // 设置过期时间 expire k原创 2020-11-21 17:59:15 · 206 阅读 · 0 评论 -
redis配置文件的修改以及脚本启动方式(开机自启动)
redisreids下载地址:https://redis.io/download安装gcc编译环境。yum install gcc-c++解压redis压缩包,并编译安装tar -zxvf redis.x.x.tar.gz cd redis.x.xmake && make install拷贝 redis_init_script 文件到 /etc/init.d目录下cp utils/redis_init_script /etc/init.d// 修改配置文件原创 2020-11-21 17:33:16 · 661 阅读 · 0 评论