java知识体系

Redis常用命令?


Redis常用命令?

 

一、启动/进入控制台/退出
1、启动redis: ./redis-server redis.conf

2、进入redis控制台:
如果只有一台redis:
任意地方输入redis-cli  或者进入redis/bin目录下输入./redis-cli可进入redis,或者 redis-cli -p 6379
如果有多台redis:
redis-cli -h 127.0.0.1 -p 6379
3、退出
redis-cli shutdown或进入redis后输入shutdown,quit退出
4、ps -ef | grep redis   #查看是否启动成功
5、netstat -tnlp | grep redis #可以看到redis监听端口

 

二、持久化
BgSave 后台异步保存数据到磁盘,会在当前目录下创建文件dump.rdb
save 将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘;同步保存数据到磁盘,会阻塞主进程,别的客户端无法连接
BgRewriteAof 文件压缩处理(命令),异步执行一个aop(appendOnly file)文件重写会创建当前一个AOF文件体积的优化版本
lastsave返回上次成功保存到磁盘的unix的时间戳
shutdown同步保存到服务器并关闭redis服务器

 

三、redis事物
multi  //开启事务
sadd myset a b c  //执行命令
sadd myset e f g
lpush mylist aa bb cc 
lpush mylist dd ff gg
discard, 取消执行事务块内的所有命令
exec, 执行事务块内的命令

 

四、订阅与发布
    订阅频道:subscribe chat1
    发布消息:publish chat1 "hell0 ni hao"
    查看频道:pubsub channels
    查看某个频道的订阅者数量: pubsub numsub chat1
    退订指定频道: unsubscrible chat1   , punsubscribe java.*
    订阅一组频道: psubscribe java.*

 

五、key操作
    keys * 获取所有的key
    select 0 选择第一个库
    move myString 1 将当前的数据库key移动到某个数据库,目标库有,则不能移动
    flushall, 清空整个redis服务器的数据(删除所有数据库的所有 key)
    flush db      清除指定库
    randomkey     随机key
    type key      类型
   
    set key1 value1 设置key
    get key1    获取key
    mset key1 value1 key2 value2 key3 value3
    mget key1 key2 key3
    del key1   删除key
    exists key      判断是否存在key
    expire key 10   10过期
    pexpire key 1000 毫秒
    persist key     删除过期时间
    dbsize, 返回当前数据库中key的数量