首页 > 数据库 >redis

redis

时间:2024-05-08 16:14:32浏览次数:18  
标签:redis 数据类型 数据库 Redis session 内存 key

一、Redis概述

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

  • Redis支持数据的备份,即master-slave模式的数据备份。

 

二、Redis 特性与优势

1.Redis的特性

Redis全称REmote Dictionary Server 远程字典服务

  1. 方便扩展

  2. 大数据量高性能

  3. 数据类型多样性

  4. 分布式储存

2.Redis的优势
  1. 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。

  2. 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。

  3. 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。

  4. 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

3、Redis与其他key-value存储的区别
  1. Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。

  2. Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

 

 

三、Redis的应用场景

  1. 缓存:这毫无疑问是Redis被大众所熟知的功能,也是其最强大的功能之一,在提示服务器性能方面非常有效

  2. 排行榜功能:利用Redis中有序集合的特性可以很容易的实现排行榜功能,由于排行榜功能一般都要求实时性,如果采用传统数据库来实现将会非常麻烦。

  3. 计数器/限速器:利用Redis中原子性的自增操作,我们可以统计类似用户点赞数、用户访问数以及在需要限制某些用户访问某个api的频率时(例如抢购),我们均可以使用Redis来代替传统数据库实现,因为传统数据库在实现该类需求时会有非常大的读写压力。

  4. 好友关系:利用集合的一些命令,如交集、差集、并集等能方便的搞定一些共同好友及共同爱好等功能。

  5. 消息队列:除了Redis自身的发布/订阅模式,我们也可以使用其List来实现一个简单的消息队列,例如:到货通知、邮件发送之类的需求,不需要高可靠但是会带来非常大的db压力,完全可以用List来完成异步解耦。

  6. session共享:一般情况下session都是存在服务器的文件中,在集群部署下,同一用户登陆时session文件可能落在不同的服务器上,因此导致了频繁的登陆操作,采用Redis保存session信息后,无论用户访问到哪台机器都能够获取到对应的session信息。

  7. 排行榜系统
  8. 请求限制
  9. 网站访问统计

虽然说Redis的功能很强大但是也有缺点,如果某部分数据内容非常大或者说该部分数据访问频率很低,那么这部分数据便不建议存储在Redis中,数据太大会增加成本,访问频率过低则非常浪费内存资源。

 

四、Redis的多种数据类型

  1. String 字符串

  2. Hash 哈希

  3. List 集合

  4. Set 去重集合

  5. ZSet 有序集合

  6. BitMap

  7. HyperLogloss

  8. Streams 流

标签:redis,数据类型,数据库,Redis,session,内存,key
From: https://www.cnblogs.com/testwjr/p/18180081

相关文章

  • docker安装redis
    因为经常要自己弄服务器,有的命令用完就忘了。现在记一下拉取镜像dockerpullredis##创建目录mkdir-p/opt/docker/redis/confmkdir-p/opt/docker/redis/data #生成假的容器dockerrun-di--name=myredisredis#复制配置文件到宿主机dockercpmymysql:/etc/red......
  • 进阶 Redis 技术与应用
    目录1.Redis高级数据结构1.1.HyperLogLog1.2.Bitmaps1.3.Geospatial数据1.4.Pub/Sub(发布/订阅)2.Redis事务与持久化2.1.Redis事务简介2.2.持久化方式:RDB和AOF2.3.配置和管理持久化3.Redis高级功能3.1.分布式锁3.2.Lua脚本3.3.客户端连接和连接池3.4.......
  • (一)Linux CentOS Redis 安装
    1、获取源//redis-stable是最新稳定版wgethttps://download.redis.io/redis-stable.tar.gz2、解压编译//我指定目录/apptar-xzvfredis-stable.tar.gz-C/appcd/app/redis-stablemake&&makeinstall3、修改配置启动//设置后台运行daemonizeno改成yes//运行......
  • 2. redis VM监控脚本
    可以根据实际情况进行修改#!/bin/bash#redis机器资源监控#--------#邮件配置:#curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com/repo/Centos-7.repo#yum-yinstallsendmailmailx#vim/etc/mail.rc#[email protected]#setsmtp=smtp.ex......
  • Redis 学习笔记
    1.redis基本数据结构Redis基础数据结构包括:字符串(String) 简单动态字符串列表(List)     压缩列表快速链表集合(Set)    整型数组字典哈希表有序集合(SortedSet,或称为ZSet)压缩列表跳表哈希(Hash)压缩列表字典哈希表位图(Bitm......
  • redisearch 安装和使用
    方式一:源码编译安装(未成功)能找到的文档基本都是这一套,但是编译过程中会遇到各种坑,make版本,其他依赖问题,尝试解决无果。#--recursive选项递归下载子模块依赖gitclone--recursivehttps://github.com/RediSearch/RediSearch.gitmakesetupmakebuild#在redis.conf最后......
  • C#中Redis使用简单教程
    C#中Redis使用简单教程Curry30_chen已于2024-01-1013:54:25修改阅读量2.9k收藏16点赞数5文章标签:c#redis开发语言版权客户端redis-desktop-manager对Redis可视化管理工具客户端redis-desktop-manager对Redis可视化管理工具立即下载C#开发者的Redis入门指南Redis是......
  • Docker网络:Docker0、容器互联技术--link、自定义网络、实战部署Redis集群
    一、Docker网络●--理解Docker0在干净的Linux环境上安装docker(将docker的所有镜像、容器先删除,干干净净!)实验:1、查看本地网络信息ipaddr可见有三个网卡信息:lo:本地(回环)地址;ens:虚拟机或云服务器(内网)地址;docker0:docker网络地址。问题:docker是如何处理容器网络访问......
  • Pottery:简化 redis 操作
    Pottery是基于Redis的高级键值存储解决方案,提供了一系列简单易用的API来操作Redis数据库。这个库特别适合需要快速开发分布式应用或需要利用Redis强大功能的开发者。它简化了许多复杂的操作,使得开发者可以更加专注于业务逻辑的实现。图源网络特点易用性:提供了高级......
  • redis 安装
    redis下载https://download.redis.io/releases/#解压tar-zxvfredis-5.0.14.tar.gz#移动mvredis-5.0.14/usr/local/redis#进入redis工作目录下cd/usr/local/redis/#编译make#redis安装#PREFIX=这个关键字的作用是编译的时候用于指定程序存放的路径。#比......