Redis学习

本文介绍了NoSQL数据库的概述,重点讲解了Redis的特性、安装、数据类型、key操作、持久化方式以及Jedis的简单使用。Redis作为一个高性能的key-value存储系统,支持多种数据类型如String、List、Set、Hash和Zset,并提供了事务、发布订阅等功能。文章还讨论了Redis的RDB和AOF持久化策略,以及如何在Java中使用Jedis进行数据操作。
摘要由CSDN通过智能技术生成


一、NoSQL数据库的简介

技术的分类:
在这里插入图片描述

1,NoSQL数据库概述

NoSQL(Not Only SQL)泛指非关系型数据库;不依赖于业务逻辑方式存储,而以简单的key-value模式存储,因此大大增加了数据库的扩展能力

  • 不遵循SQL标准
  • 不支持ACID(原子性,一致性,隔离性,持久性)
  • 远超于SQL的性能

NoSQL的一些说明

  • 减少cpu和IO的压力,直接通过内存读取
  • 可以作为缓存使用,减少IO的读操作,提高访问速度
  • 打破了传统关系型数据库以业务逻辑为依据的存储模式,而针对不同数据结构类型改为以性能为最优先存储方式

2,NoSQL适用场景和不适用场景

1.2.1 适用场景
  • 对数据高并发的读写(电商秒杀)
  • 海量数据的读写
  • 对数据高可扩展性
1.2.2 不适用场景
  • 需要事务支持
  • 基于sql的结构化查询存储,处理复杂的关系

用不着sql的和用了sql也不行的情况,请考虑用NoSQL

二、Redis的概述和安装

1.Redis的概述

  • Redis是一个开源的key-value存储系统
  • 性能极高 – Redis 能读的速度是 110000 次 /s, 写的速度是 81000 次 /s
  • 它支持的存储的value类型相对多,包括string(字符串),list(链表),set(集合),zset(sorted set–有序集合)和hash(哈希类型)
  • 这些数据类型都支持 push/pop,add/remove 及取交集并集和差集等丰富的操作,且这些操作都是原子性的
  • Redis支持各种不同方式的排序
  • 为了保证效率,数据都是缓存在内存中
  • Redis会周期性的把更新的数据写入磁盘(持久化操作)或者把修改操作写入追加到记录文件
  • 实现了主从同步

2.Redis的下载与安装

Redis的github下载(for Windows)
一款免费的Redis可视化工具
Redis的安装教程

三,Redis关于key的基本操作和数据类型

1,关于key的基本操作

1.1 相关知识

Redis默认16个数据库,类似数组下标从0开始,初始默认使用0号库
使用命令 select dbid 来切换数据库
所有库有着相同的密码
dbsize 查看当前数据库的key的数量
flushdb 清空当前库
flushall 通杀全部库
在这里插入图片描述

1.2 key的操作

keys * 查看当前库的所有key
exists key 判断某个key是否存在
type key 查看你的key是什么类型
del key 删除指定key
unlink key 根据value选择非阻塞删除,仅将key从元数据删除,真正的删除会在后续异步操作
expire key 10 为给定的key设置过期时间
ttl key 查看还有多少秒过期,-1 表示永不过期,-2 表示已过期
在这里插入图片描述

2,常用数据类型

2.1 String

  • String是Redis最基本的类型,一个key对应一个value
  • String类型是二进制安全的,意味着Redis的string可以包含任何数据。比如jpg图片或者序列化对象
  • 一个Redis中的字符串value最多可以是512M
    在这里插入图片描述
    原子性:
    INCR key
    对存储在指定key的数值执行原子+1的操作
    –>所谓原子操作是指不会被线程调度机制打断的操作,这种操作一旦开始,就一直运行到结束,中间不会切换到另一个线程
    在这里插入图片描述

2.2 List

Redis列表是简单的字符串列表,按照插入顺序排序,可以添加一个元素到列表的头部或者尾部
它的底层其实是一个双向链表,对两端的操作性能很好,通过索引下标的操作中间的节点性能会较差
在这里插入图片描述
List的数据结构为快速链表(quickList),列表元素较少时会使用一块连续的内存存储,这个结构是ziplist

2.3 Set

Redis的set是st

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值