Redis基础

Redis是一个开源的内存数据存储系统,支持多种数据结构如字符串、哈希、列表、集合和有序集合,常用于缓存、分布式锁和消息队列。它具备复制、Lua脚本、事务处理和磁盘持久化等功能,并提供高可用性方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis的基本了解

首先我们可以看下官方文档是如何介绍Redis的:

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication)LUA脚本(Lua scripting), LRU驱动事件(LRU eviction)事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

应用场景

1. 缓存
2. 分布式锁
3. 分布式Session
4. 消息队列

Redis的五大数据类型

  1. string 字符串

  2. hash 哈希

  3. list 列表

  4. set 集合

  5. zset 有序集合

1.String(字符串)

①添加、查询、追加、获取长度,判断是否存在的操作

②自增、自减操作

③截取、替换字符串操作

④设置过期时间、不存在设置操作

⑤mset、mget操作

⑥添加获取对象、getset操作

2.List(列表)
①lpush(左插入)、lrange(查询集合)、rpush(右插入)操作

②lpop(左移除)、rpop(右移除)操作

③lindex(查询指定下标元素)、llen(获取集合长度) 操作

④lrem(根据value移除指定的值)

⑤ltrim(截取元素)、rpoplpush(移除指定集合中最后一个元素到一个新的集合中)操作

⑥lset(更新)、linsert操作

3.Set(集合)元素唯一不重复
①sadd(添加)、smembers(查看所有元素)、sismember(判断是否存在)、scard(查看长度)、srem(移除指定元素)操作

②srandmember(抽随机)操作

③spop(随机删除元素)、smove(移动指定元素到新的集合中)操作

④sdiff(差集)、sinter(交集)、sunion(并集)操作

4.Hash(哈希)
①hset(添加hash)、hget(查询)、hgetall(查询所有)、hdel(删除hash中指定的值)、hlen(获取hash的长度)、hexists(判断key是否存在)操作

②hkeys(获取所有key)、hvals(获取所有value)、hincrby(给值加增量)、hsetnx(存在不添加)操作

5.zSet(有序集合)
①zadd(添加)、zrange(查询)、zrangebyscore(排序小-大)、zrevrange(排序大-小)、zrangebyscore withscores(查询所有值包含key)操作

②zrem(移除元素)、zcard(查看元素个数)、zcount(查询指定区间内的元素个数)操作

Redis事务

Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。
总结说:redis事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令。

①原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。
②一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
③隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
④持久性(durability)。持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
在Redis事务没有没有隔离级别的概念!
在Redis单条命令式保证原子性的,但是事务不保证原子性!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值