快速学习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实战中文完整版,适合新手入门学习。本文档章节全面,不会有遗落章节。主要包括Redis快速入门、Redis数据类型及操作、Redis常用
快速学习redis,帮助你快速了解及入门学习。
redis基础入门,便于初学者及高级程序员快速学习redis
Redis快速入门学习手册 大文件,详细整理,适合新手小白入
该资源为使用java程序对redis进行操作的代码示例,代码简洁,一看就懂
Redis学习手册(快速入门+使用)
Redis实战中文完整版,适合新手入门学习。本文档章节全面,不会有遗落章节。主要包括Redis快速入门、Redis数据类型及操作、Redis常用命令、Redis高级实用特性。红丸出品,希望阅读者都能受益匪浅。
第一章、redis快速入门 第二章、redis数据类型及操作; 第三章、redis的set是String类型的无序集合; 第四章、redis常用命令; 第五章、redis高级使用特性;
Redis快速入门学习手册,操作方法等。
初期redis学习者,redis的快速入门,redis Windows 版本安装工具
01 Redis快速入门 - Redis教程 02-Redis环境安装 - Redis教程 03-Redis 的安装配置介绍 04-Redis数据类型 - Redis教程 05-Redis命令 - Redis教程 06-Redis键 - Redis教程。。。 13-Redis发布订阅 - Redis教程 。。。...
1、学习redis的安装与配置2、学习redis常见数据类型的API详细使用方法以及相应数据类型的使用场景3、学习redis数据持久化的方式,以及实战场景演示4、学习redis主从复制原理与优化,以及实战演示5、学习redis的高...
Redis基本学习过程课件,可以快速入门redis知识。Remote Dictionary Server(远程字典服务器),是一个用C语言编写的、开源的、基于内存运行并支持持久化的、高性能的NoSQL数据库.也是当前热门的NoSQL数据库之一。
redis实战pdf,帮助你快速的学习入门redis,redis是一个快速的内存数据库,帮助你更好的搭建企业应用。
随着移动互联网的发展,NoSQL 技术得到了快速发展,出现了例如 MongoDB、redis 等 NoSQL 数据库,其中 Redis 拥有出色的性能、丰富的数据结构和良好的稳定性、同时拥有分布式的架构等优秀特性得到了业界的广泛应用,...
包含:socket网络编程及实战,系统学习docker,看的见的算法 7个经典应用诠释算法精髓,一站式学习Redis 从入门到高可用分布式实践,Spring Boot 2.0深度实践之核心技术篇,Scala 学习 进击大数据Spark生态圈,剑指Java面试...
快速入门Docker Build RedisAI一个Redis模块,用于服务于张量和执行深度学习模型。 克隆如果要运行示例,请确保在克隆时已安装git-lfs。 快速入门Docker构建Docker要快速试用RedisAI,请使用docker启动实例:docker ...
适合初学者学习的视频教程,可以快速的让自己入门,很好的系列视频
本自述文件只是一个快速入门文档。 您可以在找到更多详细的文档。什么是Redis? Redis通常被称为数据结构服务器。 这意味着Redis通过一组命令提供对可变数据结构的访问,这些命令是使用带有TCP套接字和简单协议的...
基于maven的Java web项目框架模板,使用spring + spring_mvc + mybatis + spring-data-redis等框架各种配置文件都已写好的并实现了一个简单的登陆注册功能可用于在IDEA上快速构建网络项目或入门学习 更多spring_mvc...