Redis基础
1.数据类型
string 字符串
list 链表
set 无序集合
hash 包含键值对
zset 有序集合
补充:
Redis存储空间:
key:value (数据类型指的是右边的 value)
string
添加/修改: set key value 多个:mset key1 value1 key2 value2 ...
获取: get key 多个:mget key1 key2 ...
删除: del key
字符串长度: strlen key
追加信息: append key value
自增: incr key incrby key increment( incrby num 10 ) incrbyfloat( incrbyfloat num 1.5 )
自减: decr key decrby key increment( decrby num 10 )
生命周期: setex key second value (秒) psetex key milliseconds value (毫秒)
hash
hset key field value ( hset user name zhangsan )
hget key field ( hget user name )
hgetall key ( hgetall user )
hdel key field1 [field2] ( hdel user name )
hmset key field1 value1 field2 value2
hmget key field1 field2
hlen key // 获取哈希表中字段的数量
hexists key field // 获取哈希表中是否存在指定的字段
hkeys key // 获取哈希表中所有字段名
hvals key // 获取哈希表中所有字段值
hincrby key field increment // 自增整数(传负值就是减少)
hincrbyfloat key filed increment // 自增小数
list
lpush key value1 [value2] .... // 从前面添加
rpush key value1 [value2] .... // 从后面添加
lrange key start stop // 获取数据
lindex key index // 获取数据
llen key
lpop key // 获取并移除数据
rpop key // 获取并移除数据
blpop key1 [key2] timeout ( blpop list0 5 ) // 在规定时间内获取并移除数据
brpop key1 [key2] timeout // 在规定时间内获取并移除数据
lrem key count value //移除指定数据
set
sadd key member1 [member2] // 添加数据
smembers key // 获取全部数据
srem key member1 [member2] // 删除数据
scard key // 获取集合数据总量
sismember key member // 判断集合中是否包含指定数据
srandmember key [count] // 随机获取集合中指定数量的数据
spop key // 随机获取集合中某个数据并移出集合
sinter key1 [key2] // 交集
sunion key1 [key2] // 并集
sdiff key1 [key2] // 差集
sinterstore destination key1 [key2] // 交集 并 存储到指定集合中
sunionstore destination key1 [key2] // 并集 存储到指定集合中
sdiffstore destination key1 [key2] // 差集 并 存储到指定集合中
smove source destination member // 将指定数据从原始集合中移动到目标集合中
sorted_set
zadd key score1 member1 [score2 member2] // 添加
( zadd scores 94 zs 100 ls )
zrange key start stop [withscores] // 获取(只有member[menber和score都有])
zrevrange key start stop // 反向获取全部数据
zrem key member [menber ...] // 删除数据
zrangebyscore key min max [withscores] [limit] // 按条件获取数据
zrevrangebyscore key max min [withscores] // 按条件获取数据
zremrangebyrank key start stop // 按条件删除
zremrangebyscore key min max // 按条件删除
zcard key // 获取集合数据总量
zcount key min max // 获取集合数据总量
zinterstore destination numkeys key [key ...] // 集合 交 操作 {加}
zunionstore destination numkeys key [key ...] // 集合 并 操作 {最大}
zrank key member // 获取索引(排名)
zrevrank key member // 获取索引(排名)
zscore key member // score值获取
zincrby key increment member // score值获取与修改
2.key通用操作
del key // 删除
exists key // 是否存在
type key // 获取key类型
expire key seconds // 设置有效期(秒)
pexpire key milliseconds // 设置有效期(毫秒)
expire key timestamp
pexpire key milliseconds-timestamp
ttl key // 获取key的有效时间
pttl key // 获取key的有效时间
persist key // 切换key从时效性转换为永久性
keys pattern // 查询key( keys * (查询所有的key))
查询模式规则:
*, ?, [] -- > 匹配一个指定符号
示例:
keys aa* 查询所有以aa开头
keys ??aa 查询所有前面两个字符任意,后面aa结尾
keys u[st]er:1 查询所有以u开头,以er:1结尾,中间包含一个字母,s或t
rename key newkey // 为key改名(如何本来有newkey,原来的会被覆盖)
renamenx key newkey // 为key改名(不会覆盖)
sort // 对所有的key排序(只排序,不改变原来的数据位置)
help @generic // 查看全指令
3.数据库通用操作
select index // 切换数据库
quit
ping // 测试服务器是否联通
echo message // 控制台输出日志
move key db // 数据移动(相当于剪切操作)
dbsize // 查看库里有多少个key
flushdb // 清除现在的数据
flushall // 清除所有的数据