Redis教程

Redis简介

本文主要是介绍Redis简介,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

基本介绍:

Redis(远程字典服务)是一种 Key-value键值对形式的
NoSQL(非关系型数据库)数据库,一类开源的内存数据结构存储器,它是单线程的,将数据存储在内存中,速度很快
优点:
1超高的性能
2完美的文档
3.简单易懂的源码
4.丰富的客户端库支持
一类常用的开源中间件

NoSQL:monoDB,redis,没有表和表之间的关联,甚至没有表的概念,意味着每条数据的大小都可能不一样,
相比而言 MySQL数据库是将文件存储到磁盘当中,

2012年 服务端支持Lua脚本
2015年 添加了Redis的分布式实现了Redis集群
2016年 添加模块系统
2018年 发布流数据类型
2020年 支持多线程

Redis的应用场景:

1.缓存:
Redis提供键过期功能,提供了灵活的键淘汰策略

2.排行榜
Redis提供了有序集合数据类构能实现各种复杂的排行榜应用

3.计数器
Redis提供的incr命令来实现计数器功能,内存操作,性能较好

4.社交网络
Redis提供哈希,集合等数据结构能很方便地实现点赞,踩,共同好友等社交基本功能

5.消息系统
消息队列是大型网站中必用的中间件:ActiveMQ,RabbitMQ,kafka,主要用于业务解耦,流量削峰以及异步处理实时性低的业务。Redis提供了发布/订阅及阻塞队列的功能,能实现一个简单的消息队列系统,当然这里不能和专业的消息中间件相比

6.分布式会话
集群模式下,应用不多的情况下一般使用容器自带的session复制功能,当在应用增多相对复杂的系统中,一般会搭建以Redis等内存数据库为中心的session服务,session不再由容器管理,而是由session服务和内存数据库管理----单点登录(SSO)

7 分布式锁
分布式技术带来了对同一资源的并发访问的挑战,全局ID,减库存,秒杀等并发量不大都场景可以用乐观锁和悲观锁来解决,但并发量高的场景下用数据库锁大大影响性能,可以利用Redis的setnx功能来编写分布式的锁,如果设置返回1说明获取锁成功,否则失败,实际应用中由更多的细节考虑

安装与连接:

1.版本说明:
版本号为奇数:非稳定版本,为偶数:稳定版本
Redis是C语言开发的,所有的版本都是基于linux,
安装在/usr/local目录下面
在bin目录下面
redis-server->启动Redis服务
redis-cli->Redis命令行客户端
redis-sentinel ->启动Redis Sentinal(本质是一个Redis服务)
redis-check-rdb->Redis RDB持久化文件检测和修复工具
redis-check-aof->Redis AOF持久化文件检测和修复工具
redis->benchmark->Redis基准测试工具

Redis架构分为客户端和服务端

1.启动
1.前端启动模式(不推荐)
直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是在Redis的旧版中ssh命令窗口关闭则redis-server程序结束,最新版的Redis并不会因为ssh的连接的关闭而关闭,但是还是会占用ssh连接

2.守护进程模式(推荐)
以守护进程模式启动的话需要redis.conf配置文件。在配置文件中设置Redis的启动模式。从Redis源码目录redis-5.0.8中复制redis.conf文件到、usr/local/redis/bin目录下,

关闭
kill -9 端口
redis-cli shutdown -a passwd

./redis-cli -h 127.0.0.1 -p 6379 -a passwd

可视化管理工具–Redis Desktop Manager
如果你的Redis服务部署在云主机上,一定记得在控制台打开6379端口才能远程连接

Redis被攻击时:
127.0.0.1:6379>keys *
1)“backup3”
2)“backup3”
3)“backup3”
4)“backup3”

这篇关于Redis简介的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!