消息聊天系统MySQL表设计_聊天系统-数据库设计

本文介绍了如何利用Redis实现聊天系统的频控和限流。通过设置Key-value存储用户访问次数限制,使用令牌桶算法控制请求速率。同时提到了Redis在存储用户表、在线用户状态和聊天消息队列等方面的应用。
摘要由CSDN通过智能技术生成

//常用的redis命令

CONFIG SET requirepass "mypass"

//Hashmap

hset [key] [field] value]

hget [key] [field]

hgetall [key]

//List

LPUSH [key] [value]

RPUSH [key] [value]

LPOP [key]

RPOP [key]

//删除表头2个值为value的元素

LREM [key] [count > 0] [value]

//删除表尾2个值为value的元素

LREM [key] [count < 0] [value]

//删除所有值为value的元素

LREM [key] [count = 0] [value]

LREM mylist 2 "hello"

LREM mylist -2 "hello"

//查询0~最后1个元素(不删除)

LRANGE mylist 0 -1

BRPOP [key] [timeout]

BLPOP [key] [timeout]

//例:获取message_1最左的元素,如果没有,等待5秒,超时返回nil

BLPOP message_1 5

采用Redis进行数据存储,主要包括频控、限流、用户表、在线用户表、聊天消息表(redis list实现消息队列)、好友表(TODO)

频控

CheckFrequency(userId uint64) bool

返回true检查通过,false触

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值