Redis学习(一)
2023-06-13 09:18:38 时间
Redis学习(一)
1. 什么是Redis
- 基本概念 Redis是一种基于键值对的NoSql数据库。 与很多键值对数据库不同的是,Redis中的值是有string、hash、list、set、zset、Bitmaps、HyperLogLog、GEO等多种数据结构和算法组成,因此redis可以满足很多应用场景,而且因为redis会将所有数据都放在内存中,所以它的读写性能非常惊人。不仅如此,redis还可以将内存的数据利用快照和日志的形式保存到硬盘上,这样在断电或故障是,内存中的数据不会丢失。 此外,redis还提供了键过期、发布订阅、事务、流水线、Lua脚本等附加功能。
- redis的优势
- 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)
- 支持丰富数据类型,支持string,list,set,sorted set,hash
- 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行
- 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除
2. redis的应用场景
- 缓存
- 对于一些要返回给前端数据的缓存,当有大量数据库sql操作时候,为了避免每次接口请求都要去查询数据库,可以把一些数据缓存到redis中,这样是直接从内存中获取数据,速度回增快很多。
- web端用户,用于登陆缓存session数据,登陆的一些信息存到session中,缓存到redis中。
- 队列
- redis中提供了list接口,这个list提供了lpush和rpop,这两个方法具有原子性,可以插入队列元素和弹出队列元素。
- 数据存储
- redis是非关系型数据库,可以把redis直接用于数据存储,提供了增删改查等操作,因为redis有良好的硬盘持久化机制,redis数据就可以定期持久化到硬盘中,保证了redis数据的完整性和安全性。
- redis锁实现防刷机制
- redis锁可以处理并发问题,redis数据类型中有一个set类型,set类型在存储数据的时候是无序的,而且每个值是不一样的,不能重复,这样就可以快速的查找元素中某个值是否存在,精确的进行增加删除操作。
说明:redis使用场景的基本操作会在redis学习(3)-实战篇中讲解。
3. redis安装与启动
redis的安装
- **下载地址:**https://github.com/tporadowski/redis/releases
2. 双击:Redis-x64-5.0.14.msi
选择“同意协议”,点击下一步继续。
选择“添加Redis目录到环境变量PATH中”,这样方便系统自动识别Redis执行文件在哪里。
端口号可保持默认的6379,并选择防火墙例外,从而保证外部可以正常访问Redis服务。
设定最大值为100M。作为实验和学习,100M足够了。
安装好后:
redis-server.exe:服务端程序,提供 redis 服务
redis-cli.exe: 客户端程序,通过它连接 redis 服务并进行操作
右击“计算机”>选择“管理”。在左侧栏中依次找到并点击“计算机管理(本地)”>服务和应用程序>服务。再在右侧找到Redis名称的服务,查看启动情况。如未启动,则手动启动之。正常情况下,服务应该正常启动并运行了。
设置密码(选):
打开 redis-cli.exe
CONFIG SET requirepass "yourpassword"
或
打开 redis.windows.conf 配置文件 // window系统是带windows的,linux系统是redis.conf 找到requirepass foobared,把前面的#号去掉,把foobared改成密码 例如requirepass 123456
测试:
打开 redis-cli.exe
正常提示进入,并显示正确端口号,则表示服务已经启动。
使用服务前需要先通过密码验证。输入“auth 020826”并回车(020826是之前设定的密码)。
返回提示OK表示验证通过。
4. redis的基本命令
启动redis命令:
./redis-server
# 直接启动redis,有的时候需要启动固定配置文件(重新设置过密码)的redis,
# 例如:
redis-server redis/redis.windows.conf
# 或者
./redis-server …/redis.conf
redis服务相关命令
# 卸载服务:
redis-server --service-uninstall
# 启动服务:
redis-server --service-start
# 停止服务:
redis-server --service-stop
相关文章
- [Redis]Redis的数据类型详解大数据
- Redis实现的乐观锁机制研究(redis乐观锁的实现)
- Redis 安装:简单6步搞定(redis安装步骤)
- 功能极速翻译:Redis实现的多语言翻译功能(redis翻译)
- 使用Redis设置黑名单:有效解决网络安全问题(redis黑名单)
- Redis中查询深层Key的技巧(redis查看keys)
- 微擎构建高性能Redis集群(微擎redis集群)
- Redis实现数据持久化的方式(简述redis持久机制化)
- 节奏步伐每秒50个Redis(每秒 50个 redis)
- 状态探索Redis连接池当前状态的奥秘(查看redis连接池当前)
- 数据库高效存储Redis实现细说(数据库存储到redis)
- Redis解决解决数据管理之困(把所有数据都放redis)
- 慢查询探究Redis慢查询的真相(为何会出现redis)
- 警惕Redis在无指定文件情况下启动(不指定文件启动redis)
- CentOS yum安装Redis源详解(yum redis 源)
- 获胜用Redis来实现安全的密码保护(win redis密码是)
- 服务解除redis,关闭服务器(卸载redis关闭)
- 如何让创业公司更好地利用Redis(创业公司redis怎么用)
- Redis快速入门使用Python精通NoSQL数据库(学redis买什么书)
- 如何使用Redis查看缓存内容(怎么查redis缓存)
- 基于代理的Redis架构实践(代理 redis)
- 系统基于Redis构建的实时通知系统(基于redis的通知)
- Redis实现更安全的密码登录验证(redis验证密码登录)
- 基于Redis的自动集群迁移技术(redis 集群自动迁移)
- Redis集群开发使用的窗口之旅(redis集群开发端口)
- Redis集群实现跨库管理的利器(redis集群不分库)
- 实现深入分析Redis链表的底层实现(redis链表底层)
- 如何在Redis中配置多个数据库(redis配置多数据库吗)
- Redis连接管理确保及时释放连接(redis连接 释放连接)
- 实现Redis的线程安全读写一种更完善的实践(redis读写线程安全吗)
- Redis缓存抉择是存储还是保留(redis缓存还是存储)
- 深入浅出理解Redis的运行逻辑(redis运行逻辑)