Redis启动关闭:
1.启动:redis-server(redis-server redis.conf)
2.登陆:redis-cli(redis-cli -p 6379)
3.关闭:redis-cli shutdown
Redis基础知识:
默认16个数据库,类似数据下标从零开始,初始默认使用零号库
Select命令切换数据库
Dbsize查看当前数据库key的数量
Flushdb清空当前数据库
Flushall清空所有库
统一密码管理,16个库都是同样密码要么都OK要么一个连接不上
Redis索引都是从零开始
默认端口6379
Redis五大数据类型:
String字符串,Hash哈希类似java里的map,List列表,Set集合,Zset(sorted set)有序集合
Redis键(key)
Key操作:
keys *
exists key的名字判断某个key是否存在
move keydb 当前库就没有了被移除了
expire key 秒钟:给定的key设定过期时间
ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期
type key 查看你的key是什么类型
String 操作:
set/get/del/append/strlen
incr/decr:每次加一减一
incrby/decrby:每次可减少多个,一定要数字才生效,
getrange/setrange:获取,设置指定范围内的值,-1代表获取所有,getrange key 0 -1
setex键秒值:setex key 秒 值,-2代表已过期
setnx:带有判断,不存在才有效
mset/mget:mset k1 v1 k2 v2,mget k1 k2,设置获取多个
msetnx:多个不存在才有效,一个无效都不行
getset:先get再set
List操作:
lpush/rpush/lrange:LPUSH正进反出,RPUSH正进正出,LRANGE获取
lpop/rpop:LPOP获取第一个位,RPOP获取末尾,并删除
lindex:LINDEX list01 2,获取指定下标的元素
llen:LLEN list01 获取长度
lrem key 删除N个value:LREM list01 2 3,删除2个3
ltrim key:从开始index到结束的index,截取指定范围的值然后赋值给key,LTRIM list01 0 4
rpoplpush:RPOPLPUSH list01 list02 从list01取出末尾赋值到list02第一位
lset key index value:从key的指定下标修改值,LSET liset01 2 x
linsert key before/after 值1 值2:把值插在指定key前后LINSERT list01 值 值
Set操作:
sadd/smembers/sismember:添加/查询/查询某个值是否存在
scard:获取集合的元素个数
srem key value:删除集合中元素
srandmember key:随机几个整数
spop key:随机出栈
smove key1 key2 值:将key1的值移到key2中
sdiff差集、交集sinter、并集sunion:
Hash操作kv模式不变但v是一个键值对:
hset、hget、hmset、hmget、hgetall、hdel:
hlen:获取长度
hexists key name:判断key中是否存在这个值
hkeys/hvals:获取key值,获取value值
hincrby/hincrbyflocat:
hsetnx:不存在set才有效
Zset操作:
再set基础上加了一个score值,之前set是k1 v1 k2 v2,现在zset是k1 score1 v1 k2 score2 v2
zadd/zrange:withscore
zrangebyscore key score1 score2:开始score 结束score
zrem key:删除元素
zcard/zcount key score1区间score2/zrank key values值获得下标值/zscore key获取key的score值
zrevrank key values :逆序获得下标值
zrevrange:逆序
zrevrangebyscore key score score