Redis

一、NoSQL

        NoSql,不仅仅是sql。非关系型数据库。

二、Nosql的四大分类

        1. 键值(Key-Value)存储数据库

这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向 特定的数据。

        2. 列存储数据库

这部分数据库通常是用来应对分布式存储的海量数据

        3. 文档型数据库

它同第一种键值存储相类似该类型的数据模型是版本化的文档,半结构化的文档以 特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版,允 许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高

        4.图形(Graph)数据库

三、什么是Redis

Redis是一个内存型的数据库。Redis开源,遵循BSD基于内存数据存储,被用于作为数据库 缓存消息中间件。在内存里处理数据。

四、五大基本数据类型

        1、List类型

                特点: 元素有序且可以重复。

            常用命令

                list 列表 相当于java中list 集合  特点  元素有序  且 可以重复

                Lpush 将某个值加入到一个key列表头部 lpush  集合名  元素名

                Rpush 将某个值加入到一个key列表末尾 

                Lpop 返回和移除列表左边的第一个元素

                Rpop 返回和移除列表右边的第一个元素

                Lrange 获取某一个下标区间内的元素,从0开始

                lrange 集合名 开始索引  结束索引

                Llen 获取列表元素个数 llen 集合名

                lset 设置某一个指定索引的值(索引必须存在)

                Lindex 获取某一个指定索引位置的元素 lindex 集合名 索引

                Lrem 删除重复元素 lrem 集合名 删除的个数  元素名

                ltrim 保留列表中特定区间内的元素

                linsert 在某一个元素之前,之后插入新元素

        2.、String类型

             常用命令

                set               设置一个key/value

                get               根据key获得对应的value

                mset              一次设置多个key value

                mget              一次获得多个key的value

                getset            获得原始key的值,同时设置新值

                strlen            获得对应key存储value的长度

                append            为对应key的value追加内容

                setex             设置一个key存活的有效期(秒)

                setnx             存在不做任何操作,不存在添加

                Msetnx   原子操作(只要有一个存在不做任何操作)  

                                可以同时设置多个key,只有有一个存在都不保存

                decr              进行数值类型的-1操作

                decrby            根据提供的数据进行减法操作

                Incr              进行数值类型的+1操作

                incrby            根据提供的数据进行加法操作

        3、Set类型

                特点: Set类型 Set集合 元素无序  不可以重复,好友,可能认识的人

             常用命令

                Sadd 为集合添加元素 sadd 集合名  元素名

                Smembers 显示集合中所有元素 无序 smembers 集合名

                Scard 返回集合中元素的个数 scard 集合名

                spop 随机返回一个元素 并将元素在集合中删除

                Smove 从一个集合中向另一个集合移动元素  必须是同一种类型

                Srem 从集合中删除一个元素

                sismember 判断一个集合中是否含有这个元素

                srandmember 随机返回元素

                Sdiff 求差集

                Sinter 求交集 sinter 集合1 集合2

                Sunion 求和集

        4、ZSet类型

特点: 可排序的set集合  排序  不可重复 ,因为SortedSet的可排序特性,经常被用来实 现排行榜这样的功能。底层的实现是一个跳表(SkipList)加 hash表。

        常用方法:

             Zadd 添加一个有序集合元素 ZADD KEY_NAME SCORE1 VALUE1.. SCOREN VALUEN

             Zcard 返回集合的元素个数

             zrange 升序/zrevrange 降序 返回一个范围内的元素

             zrange 集合名 开始索引  结束索引

             zscore   显示某一个元素的分数

             Zrem 移除某一个元素

             zincrby 给某个特定元素加分

        5、hash类型

特点: value 是一个map结构 存在key value  key 无序的

        Hset 设置一个key/value对 hset 集合名 key  value

        Hget 获得一个key对应的value

        Hgetall 获得所有的key/value对

        Hdel 删除某一个key/value对

        Hexists 判断一个key是否存在

        Hkeys 获得所有的key

        Hvals 获得所有的value

五、三大特殊数据类型

Geospatial: 地理位置

Hyperloglog: 基数

Bitmap: 位存储

六、事务

  1、原子性(atomicity)

        一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。

   2、一致性(consistency)。

        事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是   密切相关的。

   3、隔离性(isolation)

        一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。

   4、持久性(durability)

        持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变   就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。

七、Redis特点

Redis是一个高性能key/value内存型数据库

Redis支持丰富的数据类型

Redis支持持久化

Redis单线程单进程

八、redis为什么快?

内存里面,本来就比硬盘上快。

单线程。

九、持久化机制

client  redis[内存] ----->  内存数据- 数据持久化-->磁盘

Redis官方提供了两种不同的持久化方法来将数据存储到硬盘里面分别是:

- RDB 快照(Snapshot)

- AOF (Append Only File) 只追加日志文件

目录

一、NoSQL

二、Nosql的四大分类

三、什么是Redis

四、五大基本数据类型

五、三大特殊数据类型

六、事务

七、Redis特点

八、redis为什么快?

九、持久化机制

十、SpringBoot整合Redis


  1. 引入依赖
  2. 配置application.propertie
  3. pom.xml修改打包插件

4.使用RedisTemplate

5.配置redis的序列化

6.使用RedisTemplate

  1. opsForValue

2.opsForHash

3.opsForZSet

4.opsForList  

7.工具类

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值