Redis基础入门

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis基础入门

什么是 Redis


Redis(Remote Dictionary Server),即远程字典服务,是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API



Redis 实践


Redis 安装


yum install redis


Redis 配置


修改/etc/redis.conf 即可。


Redis 启动

进程方式


nohup redis-server > redis.log 2>&1 &


守护进程方式


修改/etc/redis.conf 中的 daemonizeyes 后,以 redis-server 方式启动。


Redis 的数据类型和基础操作


类型 添加 查询 删除 最大容量 备注
String set k v get k del k 一个键最大能存储 512MB 重复添加会覆盖历史数据
Hash hmset k f1 v1 f2 v2 hmget k f1 del k 每个 hash 可以存储 2^32-1 个键值对(大约 43 亿) 重复添加会覆盖历史数据
List lpush k v1 v2 lrange k 0 10 del k 每个 List 可以存储 2^32-1 个元素(大约 43 亿) 列表内数据可重复,按照插入顺序排序
Set sadd k v1 v2 smembers k del k 每个 Set 可以存储 2^32-1 个元素(大约 43 亿) 无序(通常按照插入顺序排序),集合内数据不可重复,重复添加无效,集合基于 Hash 实现,增删查复杂度为 O(1)
Zset zadd k s1 v1 s2 v2 zrangebyscore k 0 10(仅展示 0 到 10 分的值)zrange k 0 10(仅展示前 10 个 del k 每个 Zset 可以存储 2^32-1 个元素(大约 43 亿) 按照分数顺序排序(分数约小越靠前),其余属性类 Set


Redis-cli 中怎么展示中文


redis-cli --raw 以这种方式启动即可


连接远程 Redis 服务


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


HyperLoglog&使用场景


HyperLoglog 是用来做基数统计的算法(非 redis 独有),其得益于优秀的算法可以以很小的内存计算出大数据的基数。对于相同的元素会去重,计算出的结果为近似结果,在大数据场景下我们可以接受这个误差,因为其拥有良好的性能。


pfadd 添加


# pfadd添加
127.0.0.1:6379> pfadd kk 1 2 1 3 4 4
1
127.0.0.1:6379> pfcount kk
4
复制代码


以上,1 2 1 3 4 4 这几个元素中,去重后就剩下 4 个唯一的元素,所以在对其进行基数统计的时候,结果为 4


pfmerge 合并


对于两个 HLL 对象,我们可以将其合并,结果会取他们的并集。


# pfmerge合并
127.0.0.1:6379> pfadd qq 5 6 5 7 1
1
127.0.0.1:6379> pfmerge res kk qq
OK
127.0.0.1:6379> pfcount res
7
复制代码



以上,qq 经过 HLL 算法后有 3 个元素,和 kk4 个基数元素合并后将会有 7 个基数元素,经实践,结果无误。

通常 HLL 用于全球注册用户统计,页面实时 UV,在线用户数等等。

相关实践学习
基于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
相关文章
|
2月前
|
缓存 NoSQL Java
springboot的缓存和redis缓存,入门级别教程
本文介绍了Spring Boot中的缓存机制,包括使用默认的JVM缓存和集成Redis缓存,以及如何配置和使用缓存来提高应用程序性能。
126 1
springboot的缓存和redis缓存,入门级别教程
|
2月前
|
存储 消息中间件 NoSQL
Redis 入门 - C#.NET Core客户端库六种选择
Redis 入门 - C#.NET Core客户端库六种选择
69 8
|
4月前
|
SQL 存储 NoSQL
Redis6入门到实战------ 一、NoSQL数据库简介
这篇文章是关于NoSQL数据库的简介,讨论了技术发展、NoSQL数据库的概念、适用场景、不适用场景,以及常见的非关系型数据库。文章还提到了Web1.0到Web2.0时代的技术演进,以及解决CPU、内存和IO压力的方法,并对比了行式存储和列式存储数据库的特点。
Redis6入门到实战------ 一、NoSQL数据库简介
|
4月前
|
NoSQL 算法 安全
Redis6入门到实战------ 四、Redis配置文件介绍
这篇文章详细介绍了Redis配置文件中的各种设置,包括单位定义、包含配置、网络配置、守护进程设置、日志记录、密码安全、客户端连接限制以及内存使用策略等。
Redis6入门到实战------ 四、Redis配置文件介绍
|
4月前
|
NoSQL Redis 数据安全/隐私保护
Redis6入门到实战------ 二、Redis安装
这篇文章详细介绍了Redis 6的安装过程,包括下载、解压、编译、安装、配置以及启动Redis服务器的步骤。还涵盖了如何设置Redis以在后台运行,如何为Redis设置密码保护,以及如何配置Redis服务以实现开机自启动。
Redis6入门到实战------ 二、Redis安装
|
4月前
|
NoSQL Java Redis
Redis6入门到实战------思维导图+章节目录
这篇文章提供了Redis 6从入门到实战的全面学习资料,包括思维导图和各章节目录,涵盖了NoSQL数据库、Redis安装配置、数据类型、事务、持久化、主从复制、集群等核心知识点。
Redis6入门到实战------思维导图+章节目录
|
4月前
|
NoSQL 安全 Java
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
这篇文章深入探讨了Redis中的String数据类型,包括键操作的命令、String类型的命令使用,以及String在Redis中的内部数据结构实现。
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
|
4月前
|
NoSQL 关系型数据库 Redis
Redis6入门到实战------ 九、10. Redis_事务_锁机制_秒杀
这篇文章深入探讨了Redis事务的概念、命令使用、错误处理机制以及乐观锁和悲观锁的应用,并通过WATCH/UNWATCH命令展示了事务中的锁机制。
Redis6入门到实战------ 九、10. Redis_事务_锁机制_秒杀
|
4月前
|
NoSQL Java Redis
Redis6入门到实战------ 八、Redis与Spring Boot整合
这篇文章详细介绍了如何在Spring Boot项目中整合Redis,包括在`pom.xml`中添加依赖、配置`application.properties`文件、创建配置类以及编写测试类来验证Redis的连接和基本操作。
Redis6入门到实战------ 八、Redis与Spring Boot整合
|
4月前
|
存储 NoSQL 算法
Redis6入门到实战------ 三、常用五大数据类型(列表(List)、集合(Set)、哈希(Hash)、Zset(sorted set))
这是关于Redis 6入门到实战的文章,具体内容涉及Redis的五大数据类型:列表(List)、集合(Set)、哈希(Hash)、有序集合(Zset(sorted set))。文章详细介绍了这些数据类型的特点、常用命令以及它们背后的数据结构。如果您有任何关于Redis的具体问题或需要进一步的帮助,请随时告诉我。