Redis
学习笔记
Redis优点
- 原子性操作
- 性能高 - 100K+/s 读写
- 支持事务
- 订阅,通知,过期等特性
键值类型
- string 字符串
- hash 散列表
- list 列表
- set 集合
- sorted set 有序集合
string
一个字符串类型的值最多存储512M字节的数据
set k v;
mset k1 v1 k2 v2 k3 v3 ...;
incr k;
incrby k 20;
get k;
mget k1 k2 k3 ...;
list
lpush k v;
rpush k v;
lrange k begin end;
lpop k;
rpop k;
hash
一般用于存储对象数据。
hset key field value;
hmset k f1 v1 f2 v2 f3 v3 ...;
hget key field;
hmget key f1 f2 f3 ...;
hgetall key;
hincrby key field value;
set
sadd key v1 v2 v3 ...;
smembers key;
sismember key value;
sorted set
Redis有序集合与普通集合非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的每一个成员都关联了一个评分,这个评分被用来按照从最低分到最高分的方式排序集合中的成员。
zadd sl score cxx;
zrange key begin end [withscores];
zrevrange key begin end [withscores];
适合全体类型的常用命令
exists key; <!-- 判断一个key是否存在;存在返回 1;否则返回0; -->
del k1 k2 k3 ...; <!-- 删除指定key -->
type key;<!-- 返回key的类型 -->
keys pattern;<!-- 返回匹配的key列表 -->
randomkey;<!-- 随机返回一个key -->
rename oldkey newkey;<!-- 修改key的名字,新的key如果存在则覆盖 -->
renamenx oldkey newkey;<!-- 修改key的名字,新的key如果存在则失败 -->
dbsize;<!--返回数据库key的总数-->
时间相关的命令
expire key second;<!--适用于所有的数据类型,存放临时数据,避免大量的del操作。-->
set key value ex second;
ttl key;<!--查询剩余时间-->
flushdb;<!--清空当前db中所有key-->
flushall;<!--清空所有db所有key-->
配置相关命令
config get requirepass;<!--获取密码-->
config set requirepass value;<!--设置密码-->
info [KEY];<!--服务器相关信息-->