提供网站建设管理,汽车之家手机版网页,360官网首页入口,品牌seo公司1. 针对于string
SET key value / GET key
SET k1 v1
GET k1 // v1String是二进制安全的#xff0c;是可变长度的#xff0c; 底层类似于ArrayList 是可扩容的#xff0c;最大存储内存为 512MB。 2. 判断key中是否存在某个内容
EXISTS key
SET k1 v1
EXISTS k1 // …1. 针对于string
SET key value / GET key
SET k1 v1
GET k1 // v1String是二进制安全的是可变长度的 底层类似于ArrayList 是可扩容的最大存储内存为 512MB。 2. 判断key中是否存在某个内容
EXISTS key
SET k1 v1
EXISTS k1 // 11 表示存在0表示不存在 3. 删除某个key
3.1 DEL 若过大数据量可能出现阻塞队列
SET k1 v1
DEL k1 //1删除成功返回1反之0 3.2 UNLINK非阻塞性删除
UNLINK key
SET k1 v1
UNLINK k1 // 1删除成功返回1反之0 4. 关于key是否到期
4.1 TTL 来查询key是否到期
TTL key
SET k1 v1
TTL k1 // -1-1 代表永不过期-2代表已经过期其他数字代表正在倒计时。默认都是永不过期。 4.2 EXPIRE 来定义key过期时间
EXPIRE key timeNumber
SET k1 v1
EXPIRE k1 40 // 单位是秒
TTL k1 // 40
TTL k1 // 39
TTL k1 // 38
.....
TTL k1 // -25. KEYS * 获取目前创建的所有key
KEYS *
SET k1 v1;
SET k2 v2;
KEYS * // 1) k2// 2) k16. 数据库的移动
Redis 出厂自带16个db库对应下标是 0 - 15
6.1 SELECT [0-15] 切换到指定的数据库
SELECT 1 // 移动到索引为1的数据库6.2 MOVE key [0-15] 将当前的key移动到指定的数据库中
SET k1 v1
MOVE k1 2 // 将k1移动到索引为2的数据库中7.DBSIZE 获取当前库中有多少key
SET k1 v1
DBSIZE // 18. 清空库
8.1 FLUSHDB 清空当前库
FLUSHDB8.2 FLUSHALL 通杀所有库
FLUSHALL9. 数据类型的命令操作
9.1 永远的帮助命令HELP
HELP[数据类型]9.2 Redis 字符串(String)
特点 单值单Value
9.2.1 NX参数 Key不存在的时候进行创建
SET k1 v1 NX
GET k1 // v1
SET k1 v1 NX // 已经存在
// 输出nil9.2.2 XX参数 Key存在时进行创建
SET k2 v2 XX // 此时db里是没有存在k2的
// (nil)
SET k2 v2
SET k2 v2 XX // 可以成功创建value的值进行覆盖9.2.3 GET 参数 返回原有的vealu。
SET k1 v1;
SET k1 v2 GET; // v1
GET k1; // v2还可以直接使用GETSET来进行更该且返回值
SET k1 v1;
GETSET k1 v2; // v1
GET k1; // v29.2.4 EX, PX 设置过期时间
这个很简单。在后面跟随即可
SET k1 v1 EX 10; // 十秒后过期
SET k1 v1 PX 10000; // 一万毫秒后过期9.2.5 EXAT 设置UNIX时间戳 单位秒
在Java中获取UNIX时间戳。
Long.toString(System.curretTimeMillis() / 1000L);
SET k1 v1 EXAT xxxxx;PXAT 是毫秒。把 /1000去掉即是毫秒。用法不变。 9.2.6 KEEPTTL 保留生存时间
SET k1 v1 EX 30; // 三十秒后过期
SET k1 v2; // 一旦这样做重新赋值则ttl -1 永不过期
TTL k1; // -1
// 所以应该在修改value的时候后面加上KEEPLTTL保留生存时间
SET k2 v2 EX 30;
SET k2 v3 KEEPTTL;9.2.7 批量 MSETMGETMSETNX
批量添加和批量获取键值对很简单。
// 批量添加
MSET k1 v1 k2 v2 k3 v3 k4 v4;
// 批量获取
MGET k1 k2 k3 k4;
// MSETNX 就是不存在的时候在进行创建
MSETNX k5 v5 k6 v6 k7 v7;但是需要注意的是 MSETNX是整体性的具有原子性的。如果存在k1不存在k4那么整体来说都是存在的则都不会创建。要么全部不存在进行创建要么不创建。 9.2.8 GETRANGESETRANGE截取和精确设置覆盖
GETRANGE key statrIndex stopIndex 很容易理解
SET k1 abcdefg1234567;
GETRANGE k1 0 -1; // abcdefg1234567如果后面跟的参数是 0 到 -1 则表示获取全部的内容下标从0开始到全部数量 - 1 结束。
SET k1 abcdefg1234567;
GETRANGE k1 0 - 3; // abcdSETRANGE key index value;
SET k1 aaaaaaaaaa;
SETRANGE k1 2 bbbb;
GET k1; // aabbbbaaaa