快速学习Redis系列(入门)
内容大纲:
- Redis是什么?
- Redis优缺点?
- Redis应用场景.
- Redis安装和使用.
- Redis支持的数据类型.
1. Redis是什么?
Redis是一个用ANSI C语言编写的,遵循BSD协议的一个高性能key-value数据库
2.Redis的优点缺点
相对于其它key-value产品的优点:
1)支持数据库的持久化,可以把内存中的数据存入磁盘中,重启可加载使用
2)支持丰富的数据类型,不仅支持简单的key-value类型的数据,还支持如String,Hash,set,list,zset(sorted set)
3)支持数据备份,可以建master/slave集群,就能让数据同步
更多的优点:
1)以内存作为数据存储介质,读速度110000次/s,写速度81000次/s,性能高
2)操作具有原子性,也就是支持简单的事务
3)支持pub/sub的消息订阅
缺点:
1)Redis只能使用单线程,性能受限于CPU性能,故单实例CPU最高只能5-6W QPS/s(平常1-2W左右)
2)虽然支持简单的事务,但应用场景少,不够成熟
3)Redis在使用String类型上消耗内存较多,可以用hash表压缩存储,降低消耗。
4)Memcache和redis都是key-value类型的,不适合在不用的数据集之间建立关系,也不适合搜索查询,比如redis的keys pattern这种匹配操作,对redis的性能是灾难。
3.应用场景
适合很多语言,也适合很多场景,比较适合读操作频繁的程序
1.做热点数据的缓存,适合经常用来被查,不经常修改或删除的数据,如一个小说网站,每天有100W人访问某部小说中的某篇文章,这篇文章若是从数据库那拿,每天都要消耗100W次数据库请求,这样很消耗数据库资源,若把这篇文章放入redis,数据库资源消耗小,性能高
2.计数器,统计网站点击数,因为单线程,可以避免并发,而且性能高。
命令:INCRBY
3. 消息中间件,和ActivitiMQ,RocketMQ类似,做消息队列,但不推荐
4. 位操作,大量数据的处理,若有几10亿的用户,查询哪个用户在线,就不能每个用户都建一个Key来存,这样占用内存巨大,可以用位操作setbit,getbit,bitcount等命令
原理是:
redis内构建一个足够长的数组,每个数组元素只能是0和1两个值,然后这个数组的下标index用来表示我们上面例子里面的用户id(必须是数字哈),那么很显然,这个几亿长的大数组就能通过下标和元素值(0和1)来构建一个记忆系统,上面我说的几个场景也就能够实现。用到的命令是:setbit、getbit、bitcount
5. 重复请求的记录或秒杀系统
可以用来限制一段时间内数据的重复提交,如你要做限购商品的功能,规定一个IP当天只能买10次,一个用户名当天只能买5次,把买的次数数据记录下来,然后设置有效时间,超过次数的不准买.
也可用在秒杀系统,记录商品库存,卖掉一次就在Redis减库存,因为Redis的操作是原子性的.
4.安装和使用
Window 下安装:
下载地址:https://github.com/MSOpenTech/redis/releases。
Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。
进入redis,输入redis-server.ext redis.windows.conf启动服务器
然后再开个cmd,进入redis文件夹,输入redis-cli.exe -h 127.0.0.1 -p 6379
这时可以设置key-value,
Set hhm helloworld
OK
Get hhm
‘helloworld’
把redis放到后台中运行:
1. 进入cmd命令窗口
2. 进入redis的安装目录
3. 输入:redis-server --service-install redis.windows.conf --loglevel verbose ( 安装redis服务 )
4. 输入:redis-server --service-start ( 启动服务 )
5. 输入:redis-server --service-stop (停止服务)
Redis设置密码:
输入CONFIG get requirepass看下是否有设置密码
没有则输入CONFIG set requirepass “123456”
设置了密码后,连接redis服务就要先密码验证,
有2种验证密码方法:
redis-cli.exe -h 127.0.0.1 -p 6379 -a 123456 (连接redis时输入密码验证)
AUTH 123456 (连接redis前没输入密码的话,连接后可以用AUTH)
若没验证密码就开始操作数据库,则会返回“(error) NOAUTH Authentication required.”,因为没有权限。
5.支持的数据类型
Redis支持五种String,Hash,Set,List,Sorted Set
Redis的3.2.0版本后加了叫GEO的数据类型来表示地理位置
相关推荐
在《Redis实战》中文完整版中,新手可以系统地学习Redis的基础知识和实战技巧。以下是根据标题和描述提炼出的一些关键知识点: 1. **Redis快速入门**:这部分通常会介绍如何安装Redis,包括在各种操作系统(如Linux...
从浅入深学习 redis 数据库,有许多实际操作代码,示例代码,以供快速了解学习 redis。 1)Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库。 2)Redis 的应用: -...
通过阅读《Redis 入门指南》,初学者可以系统地学习 Redis 的核心概念和技术,为后续的开发工作打下坚实的基础。在实践中不断探索和优化,可以更好地利用 Redis 解决实际问题,提升系统的性能和稳定性。
快速学习redis,帮助你快速了解及入门学习。
"Redis快速入门ppt" Redis快速入门 ppt 介绍了 Redis 的基础知识,包括 NoSQL 的概念、Redis 的安装、Redis 的常见命令、Redis 的 Java 客户端等。 认识 NoSQL NoSQL 是一种非关系型数据库,它不同于传统的关系型...
本自学视频课程旨在帮助初学者从零基础快速掌握Redis的基本概念、常用操作以及如何实现高可用性。通过12个章节的深入讲解,将使您对Redis有全面而深入的理解。 第一章:Redis简介与安装 本章将介绍Redis的基本概念...
对于初学者,通过阅读此手册,可以快速理解Redis的工作原理,熟悉其API,为进一步深入学习和使用Redis打下坚实的基础。对于开发者,手册将提供实用的技巧和最佳实践,有助于在项目中更好地发挥Redis的优势。
以下是一些关于Redis快速学习的关键知识点: 1. **Redis基本数据类型**: - **String**:基本的字符串类型,可以存储字符、数字,支持操作如设置、获取、增加、减少等。 - **List**:列表,类似于Java中的...
《Redis入门手册》是一份专为初学者准备的中文文档,旨在帮助读者快速理解和掌握Redis的基本概念和操作。通过阅读这份手册,你可以了解到以下关键知识点: 1. **安装与配置**:了解如何在不同的操作系统上安装Redis...
Redis 入门学习教程与面试经验总结 Redis 是一种开源的、基于内存的数据结构存储系统,可以用作数据库、消息中间件、缓存等。下面是 Redis 的一些基本概念和技术要点: 1. Redis 的基本数据结构:字符串、列表、...
最后,学习Redis还需要关注其与其他技术的集成,比如与Spring框架的整合,或者在Docker容器中部署Redis,以及如何使用Jedis、Lettuce等客户端进行操作。理解这些集成方案可以帮助你在实际项目中更好地利用Redis。 ...
以下是对Redis快速入门的详细讲解: 1. **Redis简介** Redis是一个开源(BSD许可),内存中的数据结构存储系统,它可以用作数据库、缓存和消息代理。它的特点是数据持久化、支持多种数据结构(如字符串、哈希、...
标题《Redis最精简的入门完全读本(30页)》和描述中提到的内容,意在介绍这是一本简明易懂、适合快速学习Redis的入门书籍。这本读本适合那些希望在短时间里理解Redis核心概念和用法的读者,例如在一趟公交车的时间内...
Redis 属于键值存储数据库,其数据模型由一系列键值对组成,这使得 Redis 在快速查询方面表现出色。由于键值存储的数据结构简单,Redis 可以实现高效的操作,如读写操作、原子操作和事务处理。此外,Redis 还支持...
**Redis入门指南 第2版** 是一本针对初学者详尽介绍Redis数据库的书籍,旨在帮助读者快速掌握Redis的基础知识和核心概念。Redis是一款高性能的键值存储系统,常用于数据缓存、消息队列以及分布式服务等场景。本书...
以上就是 Redis 初级入门的一些关键知识点,理解并掌握这些内容,可以帮助你快速上手 Redis 并应用于实际项目。在实际操作中,你可以通过创建、读取、更新和删除不同数据类型来进一步熟悉 Redis 的功能。同时,不断...
本手册专为新手小白设计,旨在帮助初学者快速掌握Redis的基本概念、操作及应用。 1. **Redis简介** Redis是Remote Dictionary Server的缩写,由Salvatore Sanfilippo开发,它是一款开源、基于内存且支持持久化的...
Redis数据库从入门到实践 Redis是一种快速、高性能的键值对数据库,常用于缓存和会话管理等功能。该数据库采用内存存储数据,使得读取和写入速度非常快。同时,Redis还支持丰富的数据类型和命令,方便用户进行数据...
总结来说,“Redis入门指南-清晰完整版带目录”将涵盖Redis的基础知识、安装配置、数据类型、命令操作、持久化、高可用性以及实际应用场景等多个方面,帮助初学者快速掌握Redis,并能在项目中灵活运用。这份指南将是...
**Redis入门指南** Redis,全称Remote Dictionary Server,是一款开源的、高性能的键值存储系统。它被广泛用于数据缓存、消息队列、数据库等多个领域。本指南将基于《Redis入门指南第2版》的内容,详细介绍Redis的...