Redis基础知识之————使用技巧(持续更新中.....)

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 一、key 设计技巧把表名转换为key前缀 如, tag:第2段放置用于区分区key的字段--对应mysql中的主键的列名,如userid第3段放置主键值,如2,3,4...., a , b ,c第4段,写要存储的列名Key 不能太长,比如1024字节,但antirez也不喜欢太短如"u:1000:pwd",要表达清楚意思才好。

一、key 设计技巧

  1. 把表名转换为key前缀 如, tag:
  2. 第2段放置用于区分区key的字段--对应mysql中的主键的列名,如userid
  3. 第3段放置主键值,如2,3,4...., a , b ,c
  4. 第4段,写要存储的列名
  5. Key 不能太长,比如1024字节,但antirez也不喜欢太短如"u:1000:pwd",要表达清楚意思才好。他私人建议用":"分隔域,用"."作为单词间的连接,如"comment:12345:reply.to"。
  6. Keys,返回匹配的key,支持通配符如 "keys a*" 、 "keys a?c",但不建议在生产环境大数据量下使用。
  7. SCAN命令,针对Keys的改进,支持分页查询Key。在迭代过程中,Keys有增删怎么办?要锁定写操作么?--不会,不做任何保证,撞大运,甚至同一条key可能会被返回多次。
  8. Sort,对集合按数字或字母顺序排序后返回或另存为list,还可以关联到外部key等。因为复杂度是最高的O(N+M*log(M))(N是集合大小,M 为返回元素的数量),有时会安排到slave上执行。
  9. Expire/ExpireAt/Persist/TTL,关于Key超时的操作。默认以秒为单位,也有p字头的以毫秒为单位的版本, Redis的内部实现见2.9 过期数据清除。

用户表 user  , 转换为key-value存储

userid

username

passworde

email

9

Lisi

1111111

lisi@163.com

 

 

 

 

相关实践学习
基于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
目录
相关文章
|
3月前
|
缓存 NoSQL 算法
Redis专题(持续更新) 04-VIP-Redis缓存设计与性能优化
maxIdle实际上才是业务需要的最大连接数,maxTotal是为了给出余量,所以maxIdle不要设置。些redis连接,执行简单命令,类似ping(),快速的将连接池里的空闲连接提升到minIdle的数。redis的多数据库较弱,使用数字进行区分,很多客户端支持较差,同时多业务用多数据库实际还。如果系统启动完马上就会有很多的请求过来,那么可以给redis连接池做预热,比如快速的创建一。数",在使用连接的过程中,如果连接数超过了minIdle,那么继续建立连接,如果超过了。
|
4月前
|
存储 缓存 NoSQL
Redis专题(持续更新) 04-VIP-Redis缓存设计与性能优化
对于恶意攻击,向服务器请求大量不存在的数据造成的缓存穿透,还可以用布隆过滤器先做一次过滤,对于不存在的数据布隆过滤器一般都能够过滤掉,不让请求再往后端发送。缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。向布隆过滤器询问 key 是否存在时,跟 add 一样,也会把 hash 的几个位置都算出来,看看位数组中这几个位。发过来,缓存层支撑不住,或者由于缓存设计不好,类似大量请求访问bigkey,导致缓存能支撑的并发急剧下。
134 3
|
4月前
|
存储 缓存 运维
Redis专题(持续更新) 03-VIP-Redis高可用集群之水平扩展
本文介绍了如何通过水平扩展来提升Redis高可用集群的性能和可用性。文章首先展示了如何启动整个集群,并使用客户端连接至特定端口的Redis实例以及查看集群状态。接着详细介绍了增加Redis实例的步骤,包括配置新的主节点和从节点,并使用命令进行节点的添加和删除操作。其中还包括了重新分片操作以及将从节点指定给主节点的过程。最后,文章以删除主节点为结束,展示了如何将数据迁移至其他节点后进行节点的删除操作。整篇文章详细介绍了Redis高可用集群的水平扩展操作,对于需要扩展Redis集群的运维人员具有一定的指导意义。
|
4月前
|
缓存 NoSQL Java
Redis专题(持续更新) 03-VIP-Redis缓存高可用集群
这篇文章主要介绍了Redis缓存高可用集群的搭建和原理分析,包括Redis集群方案比较、高可用集群搭建步骤、Java操作Redis集群以及Redis集群的工作原理等内容。文章详细介绍了如何搭建Redis集群、Java操作Redis集群的代码示例以及Redis集群的选举原理、数据丢失问题以及对批量操作命令的支持等内容。此外,还介绍了哨兵leader选举流程。整体来说,本文对Redis缓存高可用集群的构建和使用进行了系统性的阐述,是一篇关于Redis集群实践经验的指南。
|
4月前
|
NoSQL Java Redis
Redis专题(持续更新)
本文主要介绍了Redis高可用架构中的哨兵架构,包括哨兵的搭建步骤、元数据信息的维护和节点变动时的处理。同时,还详细介绍了Spring Boot中使用StringRedisTemplate和RedisTemplate对Redis进行操作的方法列表,以及Redis客户端命令对应的RedisTemplate中的方法列表。明天的文章将会讲述Redis高可用集群之水平扩展。
|
4月前
|
缓存 NoSQL Java
Redis专题(持续更新)
文章主要介绍了Redis的主从架构,包括了搭建和配置从节点的步骤、主从复制的工作原理以及全量复制和部分复制的流程。同时还介绍了Jedis连接代码示例、Redis管道和调用Lua脚本的方法。文章详细描述了如何搭建Redis主从架构,以及主从复制的工作原理和流程,对于想要深入了解Redis主从相关知识的读者有很好的参考价值。
|
4月前
|
NoSQL 调度 Redis
Redis专题(持续更新)
本文详细介绍了Redis持久化机制,包括RDB快照和AOF持久化,以及它们各自的优缺点和配置方法。对比了save和bgsave两种生成RDB快照的方式,以及AOF重写的机制和配置。在介绍Redis 4.0的混合持久化时,提出了解决重启效率低的问题,并给出了相应的配置方法。最后,给出了Redis数据备份的具体策略,包括定时调度脚本、保留备份的时间和跨机器备份等内容。文章内容详实,适合对Redis持久化感兴趣的读者阅读。
|
4月前
|
NoSQL Redis 索引
Redis专题(持续更新)
Redis是一个高性能的键值存储系统,其核心数据结构和高性能原理是其快速处理大量并发连接的关键。Redis是单线程的,这意味着网络IO和键值对的读写都由一个线程完成。Redis之所以能够如此快速,主要有以下原因:内存操作、单线程避免切换开销和IO多路复用。除此之外,Redis还提供了一些其他高级命令,如keys、scan和Info命令,这些命令可以帮助我们更好地管理和查询Redis的数据。通过合理地利用Redis的核心原理和高级命令,我们可以提升系统的性能和效率。
|
6月前
|
存储 缓存 NoSQL
Redis第一讲:相关的基础知识/数据类型/缓存的过期策略/双写一致性/内存存储和持久化
Redis第一讲:相关的基础知识/数据类型/缓存的过期策略/双写一致性/内存存储和持久化
|
6月前
|
存储 缓存 NoSQL
Redis 基础知识和核心概念解析:理解 Redis 的键值操作和过期策略
Redis 基础知识和核心概念解析:理解 Redis 的键值操作和过期策略
74 1