在Linux中:
默认有16个数据库,默认进入0号库。编号0-15
命令:select 0-15 --进入对应的库
String:
一个key对应一个value
二进制安全
命令:
select 数字 -可以选择进入哪个库
keys * -查看当前库的所有key
set key value -设置key的值为value
mset key1 value1 key2 value2 key3 value3 --设置多个key和value
get key -获取key的值
get key1 key2 key3 -获取多个key的值
exists key -判断某个key是否存在 返回1存在 0不存在
del key -删除指定的key
unlink key -异步删除
expire key 10 -设置过期时间,10s后,这个key会过期
ttl key -查看还有多少s过期 返回的两个特殊值:-1永不过期 -2已经过期
dbsize -查看当前数据库所有key的数量
flushdb -清空当前库
flushall -清空所有库redis中的16个库的所有key数据
strlen key -查看key的值的长度
setnx key value -只有当key不存在时,才能设置成功
msetnx key1 value1 key2 value2 -设置多个只有当key不存在时,才能设置成功,必须所有key都不存在
incr key -key的值+1
incrby key n -key的值+n
decr key -key 的值-1
decrby key n -key 的值-n
getrange key n m -获取key的值从下标n开始m结束,下标从0开始
setrange key n newvalue -对key的下标为n的那一位开始覆盖新的值
getset key newvalue -把一个已存在的key修改值为新的value,然后输出之前旧的的value
list:
一个key对应多个value
list的底层是双向链表,两端操作性能好,中间的性能差。
操作命令:
lpush key value1 value2 value3 ... --往key里面从左到右灌值。该key本身可以不存在,也可以存在。
示例图:
rpush --从右到左
这两个命令特点:
lpush放入的值从右到左看=key里面从左到右看
rpush放入的值从左到右看=key里面从左到右看
lrange key 0 -1 --查看key的全部值
lpop key --从key的左边开始吐单个值,屏幕栏会显示被吐出的这个值。在value中这个值会消失
rpop key --从key的右边开始
这两个命令如果让key里的所有value都吐出来后,该key会消失。
rpoplpush key1 key2 --从key1的右边吐出一个值到key2的左边
lindex key 下标 -查看(从左到右,不要被l误解)key的下标位置的值
linsert key before/after value newvalue -在key的value值前面/后面插入新的值
lrem key n value --删除key里面的n个value,从左到右开始删
lset key 下标 value -将key里的下标的值替换为value
set:
介绍:set会去重,但是不会排序。
说明:以下文档中写的如果是取出,则不会从集合中删除;如果是吐出,则会删除
sadd key value1 value2 --添加值到key中,如果没有key会自动创建出来
smembers key --取出该集合的所有值
sismember key value --判断key中是否存在value,存在返回1,不存在返回0
scard key --返回key中value的个数
srem key value1 value2 .... --删除集合中的value
spop key --随机吐出key的其中一个值
srandmember key n --随机取出n个值
smove key1 key2 value --从key1到key2移动value
sinter key1 key2 --返回两个集合的交集元素
sunion key1 key2 --返回两个集合的并集元素
sdiff key1 key2 --key1中的值在key2中没有的会被返回出来
Hash:
hset key field value --给key集合中的field设置value
hget key field --取出key中filed的value
hmset key field1 value1 field2 value2 --设置key中多个filed的值
hexists key field --查看filed是否存在值,存在返回1,反之0
hkeys key --返回集合中的所有field
hvals key --返回集合中的所有value
hincrby key field 数字 --为key中的field对应的value加上或者减去数字
hsetnx key field value --当filed不存在时,则设置key中的field和value。上面的hset这个命令使用时既可以当filed存在设置成功,也可当filed不存在时设置成功