Redis数据库

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

Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

支持语言

  1. 内存存储,持久化(内存断电即失,持久化很重要(RDB,AOF))
  2. 效率高,可以用于高速缓存
  3. 发布订阅系统
  4. 地图信息分析
  5. 计时器,计数器(浏览量)

特性

  1. 多样的数据类型
  2. 持久化
  3. 集群
  4. 事务

不建议在windows上开发Redis,建议在Linux服务器上搭建
Github下载地址:https://github.com/MicrosoftArchive/redis/releases
默认端口:6379
使用客户端连接Redis

Linux

redis默认不是后台启动的,修改配置文件
darmonize yes

开启服务,测试连接

确认开启服务

关闭服务
shutdown

redis-benchmark:压力测试工具
redis-benchmark -命令参数


6秒内完成处理

基础知识

Redis默认有16个数据库
默认使用第0个数据库
使用select切换数据库
使用dbsize查看数据库大小
使用keys *查看数据库所有的key
使用flushdb清空当前库(使用flushall清空全部)
使用exists key名 判断key是否存在
使用move key名 1,移除当前数据库key
使用expire key名 秒数,设置key几秒后过期
使用ttl key名,查看key过期剩余时间
使用type key名,查看当前库中的key的类型

redis命令集合 https://www.redis.net.cn/order/

单点登录 :是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

Redis是单线程的:Redis很快,是基于内存操作的,CPU不是Redis的性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,所以就使用单线程实现,

单线程为什么还这么快?

  • 高性能的服务器不一定是多线程的
  • 多线程不一定比单线程效率高(单CPU实现多线程可能会实时调度上下文切换)
  • Redis是将所有数据全部放到内存中,所以说使用单线程去操作,效率最高(对于内存系统来说,如果没有上下文切换线程就是效率最高的,多次读写都是在一个CPU上)
posted @ 2021-12-10 17:09  一刹流云散  阅读(33)  评论(0编辑  收藏  举报