redis笔记

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: redis笔记

总结:线上严禁使用redis的keys命令 keys checkvariantprefix:*

redis-cli -h host -p port -a password

redis-cli

//redis类型介绍
$key = 'Kaijang:lottery:frequency:simplehtml:' . $lotteryType;
//字符串
//添加有效期时间 redisSet 
Redis::getInstance()->redisSet($key, json_encode($data), 60*10);
//命令将 key 中储存的数字值增一
Redis::getInstance()->redisIncre($redisKey);
//获取数据 redisGet 
$lotterylRedis = Redis::getInstance()->redisGet($key);
//有序集合
//添加 自增1redisZincrby  小于次数,就增加金豆,并且自增1 
Redis::getInstance()->redisZincrby($key, 1, '1234');
//获取有序集合的分数redisZscore 
$number = Redis::getInstance()->redisZscore($key, '1234');
//获取从0到-1到数据(全部数据)列表 
$list = Redis::getInstance()->redisZRevRange($key, 0, -1);//只返回分数
$list = Redis::getInstance()->redisZRevRange($key, 0, -1, ['WITHSCORES' => true]);//返回分数和权重
//只展示显示每页数量,分页处理
$result = array_slice($list, ($pageNo - 1) * $pageCount, $pageCount);
//哈希
//添加自增1 并返回分数值  
$trueView = appluckycommonRedis::getInstance()->redisHincre(_REDIS_BLOG_VIEWS, $blogId);
//获取指定多个是分数值 
$blogIds =[706,709];
$views = Redis::getInstance()->redisHMgetNum('343_server:blog:blog_views', $blogIds);
//添加设置哈希列表值
 $eventRedisInfo = [
   $eventId => json_encode($eventInfo),
 ];
 Redis::getInstance()->redisHMSet($redisKey, $eventRedisInfo);
//获取指定多个是哈希列表值
$basketIdArr = array_unique($basketIdArr);
$redisKey = "Kaijiang:basketball:eventList";
$basketballEventRedisList = Redis::getInstance()->redisHMget($redisKey, $basketIdArr);
//删除数据redisDel
Redis::getInstance()->redisDel($key);
//删除指定分数userId数据redisZrem
Redis::getInstance()->redisZrem($key, $userId);


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
13天前
|
canal 缓存 NoSQL
【Redis系列笔记】双写一致性
本文讨论了缓存不一致问题及其后果,如价格显示错误和订单计算错误。问题主要源于并发和双写操作的异常。解决方案包括使用分布式锁(但可能导致性能下降和复杂性增加)、延迟双删策略(通过延迟删除缓存来等待数据同步)以及异步同步方法,如通过Canal和MQ实现数据的最终一致性。面试中,可以提及这些策略来确保数据库和缓存数据的一致性。
48 1
【Redis系列笔记】双写一致性
|
13天前
|
缓存 NoSQL 安全
【Redis系列笔记】缓存三剑客
缓存穿透是指请求一个不存在的数据,缓存层和数据库层都没有这个数据,这种请求会穿透缓存直接到数据库进行查询。它通常发生在一些恶意用户可能故意发起不存在的请求,试图让系统陷入这种情况,以耗尽数据库连接资源或者造成性能问题。 缓存击穿发生在访问热点数据,大量请求访问同一个热点数据,当热点数据失效后同时去请求数据库,瞬间耗尽数据库资源,导致数据库无法使用。 缓存雪崩是缓存中大量key失效后当高并发到来时导致大量请求到数据库,瞬间耗尽数据库资源,导致数据库无法使用。
36 1
|
3月前
|
存储 缓存 NoSQL
蚂蚁金服P7私藏的Redis原理与实践内部笔记
Redis 是完全开源免费的,是一个高性能的key-value类型的内存数据库。整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。
61 1
|
4月前
|
NoSQL Redis
Redis原理之网络通信协议笔记
1. RESP协议 ​2. 自定义Socket连接Redis
|
4月前
|
NoSQL Linux Redis
Redis原理之网络模型笔记
Redis采用单线程模型,这意味着一个Redis服务器在任何时刻都只会处理一个请求。Redis的网络模型涉及到阻塞I/O(Blocking I/O)、非阻塞I/O(Non-blocking I/O)、I/O多路复用(I/O Multiplexing)、信号驱动I/O(Signal-driven I/O)以及异步I/O(Asynchronous I/O)。
|
11天前
|
NoSQL Java 关系型数据库
【Redis系列笔记】分布式锁
分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行,这就是分布式锁的核心思路
33 2
|
6天前
|
存储 NoSQL Redis
【Redis系列笔记】Redis总结
Redis是一个基于内存的 key-value 结构数据库。 Redis 是互联网技术领域使用最为广泛的存储中间件。 Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)。 它存储的value类型比较丰富,也被称为结构化的NoSql数据库。
19 0
|
6天前
|
缓存 NoSQL Java
【Redis系列笔记】Redis入门
本文介绍了Redis常用命令,以及SpringBoot集成Spring Data Redis和Spring Cache。Spring Data Redis 提供了对 Redis 的操作方法,而 Spring Cache 则提供了基于注解的缓存功能,可以方便地将方法的返回值缓存到 Redis 中,以提高性能和减少对数据源的访问次数。这样的集成可以帮助开发者更便捷地利用 Redis 来管理应用程序的数据和缓存。
29 4
|
7天前
|
存储 缓存 NoSQL
Redis笔记 | 青训营
Redis笔记 | 青训营
|
10天前
|
缓存 NoSQL Java
【Redis系列笔记】Redis事务
Redis事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。
39 3