多个key作为参数进行删除_Redis:Key-Value的NoSQL数据库

本文介绍了Redis这一NoSQL数据库,强调其作为缓存工具的高效性。文章详细阐述了Redis的数据类型,如Key操作、字符串、哈希表、列表、集合、有序集合等,并讲解了相关命令。此外,还讨论了Redis的持久化策略(RDB和AOF)、主从复制、哨兵和集群。最后提到了Jedis这一Java客户端的使用。
摘要由CSDN通过智能技术生成

bb5d10173fd0540e172c6eb71203ad69.png

主要内容

  1. Redis简介
  2. 使用Redis作为缓存工具时流程
  3. Redis单机版安装
  4. Redis数据类型
  5. Redis持久化策略
  6. Redis主从复制
  7. 哨兵(Sentinel)
  8. Redis集群(Cluster)
  9. Jedis
配套视频教程:Redis精品实战教程

一、 Redis简介

1、NoSQL简介

目前市场主流数据存储都是使用关系型数据库。每次操作关系型数据库时都是I/O操作,I/O操作是主要影响程序执行性能原因之一,连接数据库关闭数据库都是消耗性能的过程。关系型数据库索引数据结构都是树状结构,当数据量特别大时,导致树深度比较深,当深度深时查询性能会大大降低。尽量减少对数据库的操作,能够明显的提升程序运行效率。

针对上面的问题,市场上就出现了各种NoSQL(Not Only SQL,不仅仅可以使用关系型数据库)数据库,它们的宣传口号:不是什么样的场景都必须使用关系型数据库,一些特定的场景使用NoSQL数据库更好。

常见NoSQL数据库:

  • memcached:键值对,内存型数据库,所有数据都在内存中。
  • Redis:和Memcached类似,还具备持久化能力。
  • HBase:以列作为存储。
  • MongoDB:以Document做存储。

2 Redis简介

Redis是以Key-Value形式进行存储的NoSQL数据库。

Redis是使用C语言进行编写的。

平时操作的数据都在内存中,效率特高,读的效率110000/s,写81000/s,所以多把Redis当做缓存工具使用(在一些框架中还把Redis当做临时数据存储工具)。缓存工具:把数据库中数据缓存到Redis中,由于Redis读写性能较好,访问Redis中数据,而不是频繁访问数据库中数据。

Redis以solt(槽)作为数据存储单元,每个槽中可以存储N多个键值对。Redis中固定具有16384。理论上可以实现一个槽是一个Redis。每个向Redis存储数据的key都会进行crc16算法得出一个值后对16384取余就是这个key存放的solt位置。

同时通过Redis Sentinel(哨兵)提供高可用,通过Redis Cluster(集群)提供自动分区

二、 使用Redis作为缓存工具时流程(写代码时思路)(边路缓存思想中一部分)

1、应用程序向Redis查询数据

2、判断Key是否存在

3、是否存在

1) 存在

  • 把结果查询出来
  • 返回数据给应用程序

2) 不存在

  • 向MySQL查询数据
  • 把数据返回给应用程序
  • 把结果缓存到Redis中

0082c96c86e3df69e06598547ba6ef8e.png

三、 基于Docker安装Redis单机版

1 拉取镜像

docker pull redis:5.0.5

1 创建并启动容器

docker run -d --name redis -p 6379:6379 --restart always redis:5.0.5

2 客户端测试

docker exec -it redis bash

在任意目录在输入redis-cli 即可进入redis命令行。

四、 Redis数据类型(面试问题)

Redis中数据是key-value形式。不同类型Value是有不同的命令进行操作。key和value都支持下面类型(在代码中多把key设置为String类型):

  • String 字符串
  • Hash 哈希表
  • List 列表
  • Set 集合
  • Sorted Set 有序集合

Redis中命令有很多,抽取出部分进行讲解。

1、Key操作

1.1 exists

判断key是否存在。

  • 语法:exists key名称
  • 返回值:存在返回数字,不存在返回0

1.2 expire

设置key的过期时间,单位秒

  • 语法:expire key 秒数
  • 返回值:成功返回1,失败返回0

1.3 ttl

查看key的剩余过期时间

  • 语法:ttl key
  • 返回值:返回剩余时间,如果不过期返回-1

1.4 del

根据key删除键值对。

  • 语法:del key
  • 返回值:被删除key的数量

1.5 keys

命令: keys *

查看所有存在的key

2、字符串值(String)

2.1 set

设置指定key的值。如果key不存在是新增效果,如果key存在是修改效果。键值对是永久存在的。

  • 语法:set key value
  • 返回值:成功OK

2.2 get

获取指定key的值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值