默认16个数据库,类似数组下表从零开始,初始默认使用零号库,默认端口是6379
Select:命令切换数据库
Dbsize:查看当前数据库的key数量
FlushDB:清空当前库
FlushAll:清空所有库
统一密码管理
Redis索引都是从零开始
Redis的五大数据类型
1.Redis健(key)
keys *: 查看当前库的所有Key
move k1 2:将k1移到2号库
exists key:判断 某个key是否存在
ttl key:查看还有多少秒过期,-1永不过期 -2已过期
DEL key:在key存在时删除key
expire key 秒钟:为给定key设置过期时间
type key:查看key是什么类型
2.Redis字符串(String)
set/get/del/append/strlen
Incr(decr):依次递增(减),一定要是数字才可以
incrby(decrby):递增(减)多个,一定要是数字才可以
getrange:获取指定区间范围内的值,类似between…and
setrange:设置指定区间范围内的值,格式是setrange key 值 具体值
setex(set with expire) 健 秒 值:set KV时指定存活时间
setnx(set if not exit) KV:如果不存在才set KV
mset(mget):一次设置(获取)多个KV(值)
msetnx:一次设置多个KV,只有都不存在的情况下才存入
getset key value:设置了新值同时获得旧值
3.Redis列表(List)
Rpush listname 值:怎么进怎么出,类似于队列
Lpush listname 值:与Rpush相反,类似于栈
rpoplpush k1 k2:从k1右边吐出一个值插到k2左边
Lrange:返回列表中指定区间内的元素, 0 表示列表的第一个元素,-1 表示列表的最后一个元素
lpop(rpop) listname:从左(右)开始出栈
lindex key index:按照索引下标获得元素(从上到下)
llen listname:查看list长度
lrem key n value:删除n个value(+n从左到右,-n从右到左,0为删除所有的该Value)
ltrim key 开始index 结束index:截取指定范围的值后在赋值给key
lset key index value:给某个index设置value
linsert key before(after) 值1 值2:将值2插入到值1之前(之后)
- 它是一个字符串链表,left、right都可以插入添加;
- 如果健不存在,创建新链表;
- 如果健已存在,新增内容;
- 如果值全移除,对应的健也就消失了;
- 链表的操作无论是头和尾效率都极高,但对中间元素操作效率低