在redis中 key--> 字符串 不同的key对应的值不同 则具备不同的数据结构 5种数据结构(主指值的数据类型不同)
字符串键是redis最基本的键值对类型(key-value形式 键值可以文字 图片。。)
set给一个key赋值 实际情况 新加入的键可能会出现在数据库的任何位置上(无序)
复杂度: O(1)
覆盖规则 相同的key赋值 后来的覆盖前来的
不过现在提供nx选项 只有key对应的value没有值的执行设置
// 伪代码 只为容易理解 别钻牛角尖
if(set.get(key)== null){
set.get(key) = value;
}
setnx --> 输出的结果 成功1 失败0
set key value [nx|xx] nx --> 成功 ok 失败 nil xx正好与之相反
时间复杂度:O(1)
复杂度:o(1)
getset类似:
string.get(key);
string.set(key, value);
时间复杂度o(n) 命令
mset key value [key value...]
时间复杂度o(n) 命令
mget key[key ...]
时间复杂度o(n) 命令
msetnx key value [key value...]
// 只是为了方便理解
list a = new arraylist();
string.foreach(key:keys){
if(string.get(key)!= null){
return;
}
a.add(string.get(key));
}
复杂度:o(1)
正数索引从0(头)开始
负数索引从最末尾-1开始 从后往前递减 从前往后递增计算方式(-xxx.size。。。-1)
时间复杂度o(n)
命令
GETRANGE key start end
类似数组的切片list[start:end]
原文:https://www.cnblogs.com/my-ordinary/p/12618244.html