一、Redis介绍
Redis是一种高性能的NoSQL数据库,也被称为远程字典服务器,它使用ANSI C编写,开源,支持网络,基于内存运行且可选持久化的键值对存储系统。Redis的出现是为了应对Web应用在高访问量和并发量下关系型数据库的性能瓶颈问题。它的性能高效,基于内存的运行方式使其读写速度快,能够支撑PB级别的数据和百万级的流量。作为一个键值对存储系统,Redis支持多种数据结构,包括String(字符串)、Hash(哈希)、List(列表)、Set(集合)和Sorted Set(有序集合)等。相比于其他数据库类型,Redis具有以下显著特点:它采用C/S通讯模型和单进程单线程模型,确保操作的原子性。Redis的数据存储主要依赖于字典(散列表),这使得其在进行CURD操作时效率非常高。此外,Redis还支持丰富的数据类型和操作命令,例如对于每种数据类型都提供了丰富的操作命令如GET/MGET、SET/SETEX/MSET/MSETNX、INCR/DECR、GETSET和DEL等。
二、基本操作
1.key的操作命令
命令 |
描述 |
用法 |
DEL |
删除给定的一个或多个Key |
DEL key [key...] |
EXISTS |
检查给定Key是否存在 |
EXISTS key |
EXPIRE |
为给定Key设置生存时间,对一个已经指定生存时间的Key设置执行EXPIRE, 新的值会代替旧的值 |
EXPIRE key seconds |
KEYS |
查找所有符合给定模式pattern的Key,例如:(1)KEYS匹配所有key(2)KEYSh? llo匹配hello、hallo、hxllo等(3)KEYS hllo匹配hlllo、heeeello等(4)KEYS h[ae]lllO匹配hello和hallo |
KEYS pattern |
MIGRATE |
(1)原子性地将Key从当前实例传送到目标实例指定的数据库上(2)原数据库Key删除, 新数据库Key增加(3)阻塞进行迁移的两个实例,直到迁移成功、迁移失败、 等待超时三个之一发生 |
MIGRATE host port key destination-db timeout [COPY][REPLACE] |
MOVE |
将当前数据库的Key移动到给定数据中,执行成功的条件为当前数据库有Key, 而给定数据库没有Key |
MOVE key db |
PERSIST |
移除给定Key的生存时间,将Key变为持久数据 |
PERSIST key |
RANDOMKEY |
从当前数据库随机返回且不删除一个Key, |
RANDOMKEY |
RENAME |
将Key的键名修改为新键名(3)新键名已存在,RENAME将覆盖旧值。 |
RENAME key newkey |
TYPE |
返回Key锁存储的值的类型。 |
TYPE key. |
2.字符串的操作命令
命令 |
描述 |
用法 |
SET |
(1)将字符串值Value关联到Key(2)Key已关联则覆盖,无视类型(3) 原本Key带有生存时间TTL,那么TTL被清除 |
SET key value[EX seconds][PX XX] |
GET |
(1)返回Key关联的字符串值 (2) Key不存在返回nil (3)Key存储的不是字符串,返回错误, 因为GET只用于处理字符串 |
GET key |
MSET |
(1)同时设置一个或 |