redis通用命令及其五种基本数据结构
Redis通用命令介绍:
KEYS:查看符合模版的所有key,
DEL:删除一个指定的KEY
EXISTS:判断KEY是否存在
EXPIRE:给一个key设置有效期,有效期到期时该KEY会自动删除
TTL:查看一个key到剩余有效期
示例:
127.0.0.1:6379> exists test_key (integer) 1 127.0.0.1:6379> expire test_key 20 (integer) 1 127.0.0.1:6379> ttl test_key (integer) 14 127.0.0.1:6379> ttl test_key (integer) 13 127.0.0.1:6379> ttl test_key (integer) 12 127.0.0.1:6379> ttl test_key (integer) 10 127.0.0.1:6379> ttl test_key (integer) 5 127.0.0.1:6379> ttl test_key (integer) 1 127.0.0.1:6379> ttl test_key (integer) -2 127.0.0.1:6379> del test_key (integer) 0 127.0.0.1:6379> get test_key (nil)
五种基本数据结构:
String类型
string:字符串类型
int:整数类型,可以做自增,自减操作
float:浮点数类型,可以做自增,自减操作
不管哪种类型,底层都是字节数组形式存储,只不过是编码方式不同。字符串类型的最大空间不超过512m。
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3 k4 v4 OK 127.0.0.1:6379> mget k1 k2 k3 k4 1) "v1" 2) "v2" 3) "v3" 4) "v4" 127.0.0.1:6379> set int_key 1 OK 127.0.0.1:6379> incr int_key (integer) 2 127.0.0.1:6379> incr int_key (integer) 3 127.0.0.1:6379> incrby inkey 3 (integer) 3 127.0.0.1:6379> incrby inkey 3 (integer) 6 127.0.0.1:6379> incrby inkey 3 (integer) 9 127.0.0.1:6379> incrby inkey 3 (integer) 12 127.0.0.1:6379> incrby inkey -1 (integer) 11 127.0.0.1:6379> incrby inkey -1 (integer) 10 127.0.0.1:6379> set float_key 1.2 OK 127.0.0.1:6379> incrbyfloat float_key 0.5 "1.7" 127.0.0.1:6379> incrbyfloat float_key 0.5 "2.2" 127.0.0.1:6379> incrbyfloat float_key 0.5 "2.7" 127.0.0.1:6379> setnx k1 v1 (integer) 0 127.0.0.1:6379> setnx k5 v5 (integer) 1
Hash类型:也叫散列,其value是一个无序的字典,
List类型:双端链表
Set类型:无序,元素不可重复,查找快,支持交集,并集,差集操作
SortedSet:可排序,元素不重复,查询速度快
案例:
127.0.0.1:6379> zadd stus 85 jack 89 lucy 82 rose 95 tom 78 jerry 92 amy 76 miles (integer) 7 127.0.0.1:6379> zrem stus tom (integer) 1 127.0.0.1:6379> zrank stus rose (integer) 2 127.0.0.1:6379> zcard stus (integer) 6 127.0.0.1:6379> zcount stus 0 80 (integer) 2 127.0.0.1:6379> zincrby stus amy 2 (error) ERR value is not a valid float 127.0.0.1:6379> zincrby stus 2 amy "94" 127.0.0.1:6379> zrange stus 0 2 1) "miles" 2) "jerry" 3) "rose" 127.0.0.1:6379> zrevrange stus 0 2 1) "amy" 2) "lucy" 3) "jack"