![](https://img-blog.csdnimg.cn/db2a44486e6542e09bc8286189629f65.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
redis
文章平均质量分 69
redis
寅鸷
游戏服务器开发,擅长 c++,golang,lua,python,k8s,docker,redis,mysql,mongodb
展开
-
golang redis lua脚本 和 lua function
golang redis lua脚本 和 lua function原创 2023-10-24 10:05:01 · 769 阅读 · 0 评论 -
高并发场景下使用redis执行lua脚本
当lua脚本执行时,不会有其它脚本和命令同时被执行,对于其它的redis客户端来说,一个lua脚本要么不可见,要么已经执行完了。高并发场景下,如果使用锁机制的时候会出现频繁的加锁解锁操作,大量消耗cpu资源,而且不同的redis语句之间如果出错的话那么就会造成认为只是执行了一半,则产生了脏数据导致数据库数据的不一致性问题。所以,利用redis执行lua脚本的这种原子性特点,在高并发多线程/协程的场景下可以避免资源竞争的问题。......原创 2022-08-10 10:19:55 · 999 阅读 · 0 评论 -
基于redis incr自增key实现uuid唯一id
在游戏中每个玩家都必须要有一个唯一id来标识玩家的唯一性,很多服务器都是多线程高并发运行着的,那么此时就需要考虑多线程对资源的竞争问题,即在多线程的状态下怎样保证每个玩家的uuid都是唯一的。但是为了这一行代码而去加锁的话,似乎消耗太大,有点得不偿失的感jio。所以,这里可以基于redis提供的自增id,incr来实现唯一id。此时有一个很简单的方法,那就是使加锁。...原创 2022-07-25 16:21:25 · 1592 阅读 · 0 评论 -
海量key和value都比较小的数据,在redis中如何存储才更省内存
转载用于收藏学习,原文地址压缩列表(ziplist)是由 一系列特殊编码的内存块构成的列表,其是Redis的列表建和哈希键的底层实现之一。和整数集合一样,二者都是为Redis节省内存而开发的数据结构。ziplist可以用来存放字符串或者整数,其存储数据的特点是:比较小的整数或比较短的字符串。当list键里包含的元素较少、并且每个元素要么是小整数要么是长度较小的字符串时,redis将会用ziplist作为list键的底层实现。同理hash和zset在这种场景下也会使用ziplist。下图是不同数据结构的实现转载 2022-07-11 21:30:40 · 633 阅读 · 0 评论 -
【转载】使用python来操作redis用法详解
转载用于收藏学习,原文地址:https://www.cnblogs.com/interdrp/p/15543309.html尊重原创使用python来操作redis用法详解1、redis连接redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。redis连接实例是线程安全的,可以直接将redis连接实例设置为一个全局变量,转载 2022-04-17 12:09:52 · 5379 阅读 · 0 评论 -
在redis里面使用lua
转载用于收藏学习,尊重原创原文地址 https://www.cnblogs.com/Seeasunnyday/p/9361014.html在redis里面使用luaRedis从2.6版本开始引入对Lua脚本的支持,通过在服务器中嵌入Lua环境,Redis客户端可以使用Lua脚本,直接在服务端原子的执行多个Redis命令。lua脚本的好处: 减少网络开销。可以将多个请求通过脚本的形式一次发送,减少网络时延 原子操作。redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。因此在编写转载 2022-04-17 16:09:58 · 1517 阅读 · 0 评论 -
把Redis当作队列来用,真的合适吗?
转载用于收藏学习以免遗失,原文链接:https://mp.weixin.qq.com/s/VisflsQi_plcDMiw61wI5Q文章非常好,尊重原创。把Redis当作队列来用,真的合适吗?以下文章来源于水滴与银弹,作者Magic Kaito水滴与银弹给你呈现不一样的技术视角。阅读本文大约需要 15 分钟。来源 |水滴与银弹(ID:waterdro............转载 2021-07-23 11:33:00 · 108 阅读 · 0 评论 -
redis RESP tcp 通信协议
redis 对于很多编程语言都有对应的客户端,例如c++中的hiredis,java中的jedis。这些客户端的底层又是如何实现的呢 ?在redis官方文档中有相关介绍,底层使用tcp发送 RESP格式的协议。RESP简单来说就是一套字符串解析规则,有点类似于json中的大括号{}表示对象,方括号[ ]表示数组一样,都是用来解析字符串的。官方文档在resp中不同部分会用 “\r\n” 隔开In RESP, different parts of the protocol are always ter原创 2022-06-20 11:35:14 · 648 阅读 · 0 评论