zoukankan      html  css  js  c++  java
  • redis常用命令使用集

    redis集群:https://www.cnblogs.com/PatrickLiu/p/8435214.html

    Redis命令总结

    1.基于内存的key-value数据库
    2.基于c语言编写的,可以支持多种语言的api //set每秒11万次,取get 81000次
    3.支持数据持久化
    4.value可以是string,hash, list, set, sorted set
    
    使用场景
    1. 去最新n个数据的操作
    2. 排行榜,取top n个数据 //最佳人气前10条
    3. 精确的设置过期时间
    4. 计数器
    5. 实时系统, 反垃圾系统
    6. pub, sub发布订阅构建实时消息系统
    7. 构建消息队列
    8. 缓存


    连接操作相关的命令

    quit:关闭连接(connection)
    auth:简单密码认证

    持久化

    save:将数据同步保存到磁盘
    bgsave:将数据异步保存到磁盘
    lastsave:返回上次成功将数据保存到磁盘的Unix时戳
    shundown:将数据同步保存到磁盘,然后关闭服务

    远程服务控制

    info:提供服务器的信息和统计
    monitor:实时转储收到的请求
    slaveof:改变复制策略设置
    config:在运行时配置Redis服务器

    对value操作的命令

    exists(key):确认一个key是否存在
    del(key):删除一个key
    type(key):返回值的类型
    keys(pattern):返回满足给定pattern的所有key
    randomkey:随机返回key空间的一个
    keyrename(oldname, newname):重命名key
    dbsize:返回当前数据库中key的数目
    expire:设定一个key的活动时间(s)
    ttl:获得一个key的活动时间
    select(index):按索引查询
    move(key, dbindex):移动当前数据库中的key到dbindex数据库
    flushdb:删除当前选择数据库中的所有key
    flushall:删除所有数据库中的所有key

    zset
        zadd zset 1 one
        zadd zset 2 two
        zadd zset 3 three
        zincrby zset 1 one              增长分数
        zscore zset two                 获取分数
        zrange zset 0 -1 withscores     范围值
        zrangebyscore zset 10 25 withscores 指定范围的值
        zrangebyscore zset 10 25 withscores limit 1 2 分页
        Zrevrangebyscore zset 10 25 withscores  指定范围的值
        zcard zset  元素数量
        Zcount zset 获得指定分数范围内的元素个数
        Zrem zset one two        删除一个或多个元素
        Zremrangebyrank zset 0 1  按照排名范围删除元素
        Zremrangebyscore zset 0 1 按照分数范围删除元素
        Zrank zset 0 -1    分数最小的元素排名为0
        Zrevrank zset 0 -1  分数最大的元素排名为0

    对String操作的命令

    set(key, value):给数据库中名称为key的string赋予值value
    get(key):返回数据库中名称为key的string的value
    getset(key, value):给名称为key的string赋予上一次的value
    mget(key1, key2,…, key N):返回库中多个string的value
    setnx(key, value):添加string,名称为key,值为value
    setex(key, time, value):向库中添加string,设定过期时间time
    mset(key N, value N):批量设置多个string的值
    msetnx(key N, value N):如果所有名称为key i的string都不存在
    incr(key):名称为key的string增1操作
    incrby(key, integer):名称为key的string增加integer
    decr(key):名称为key的string减1操作
    decrby(key, integer):名称为key的string减少integer
    append(key, value):名称为key的string的值附加value
    substr(key, start, end):返回名称为key的string的value的子串

    对List操作的命令

    rpush(key, value):在名称为key的list尾添加一个值为value的元素
    lpush(key, value):在名称为key的list头添加一个值为value的 元素
    llen(key):返回名称为key的list的长度
    lrange(key, start, end):返回名称为key的list中start至end之间的元素
    ltrim(key, start, end):截取名称为key的list
    lindex(key, index):返回名称为key的list中index位置的元素
    lset(key, index, value):给名称为key的list中index位置的元素赋值
    lrem(key, count, value):删除count个key的list中值为value的元素
    lpop(key):返回并删除名称为key的list中的首元素
    rpop(key):返回并删除名称为key的list中的尾元素
    blpop(key1, key2,… key N, timeout):lpop命令的block版本。
    brpop(key1, key2,… key N, timeout):rpop的block版本。
    rpoplpush(srckey, dstkey):返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部

    对Set操作的命令

    sadd(key, member):向名称为key的set中添加元素member
    srem(key, member) :删除名称为key的set中的元素member
    spop(key) :随机返回并删除名称为key的set中一个元素
    smove(srckey, dstkey, member) :移到集合元素
    scard(key) :返回名称为key的set的基数
    sismember(key, member) :member是否是名称为key的set的元素
    sinter(key1, key2,…key N) :求交集
    sinterstore(dstkey, (keys)) :求交集并将交集保存到dstkey的集合
    sunion(key1, (keys)) :求并集
    sunionstore(dstkey, (keys)) :求并集并将并集保存到dstkey的集合
    sdiff(key1, (keys)) :求差集
    sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合
    smembers(key) :返回名称为key的set的所有元素
    srandmember(key) :随机返回名称为key的set的一个元素

    对Hash操作的命令

    hset(key, field, value):向名称为key的hash中添加元素field
    hget(key, field):返回名称为key的hash中field对应的value
    hmget(key, (fields)):返回名称为key的hash中field i对应的value
    hmset(key, (fields)):向名称为key的hash中添加元素field
    hincrby(key, field, integer):将名称为key的hash中field的value增加integer
    hexists(key, field):名称为key的hash中是否存在键为field的域
    hdel(key, field):删除名称为key的hash中键为field的域
    hlen(key):返回名称为key的hash中元素个数
    hkeys(key):返回名称为key的hash中所有键
    hvals(key):返回名称为key的hash中所有键对应的value
    hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value

    排序:
        sort mylist  排序
        sort mylist alpha desc limit 0 2 字母排序
        sort list by it:* desc           by命令
        sort list by it:* desc get it:*  get参数
        sort list by it:* desc get it:* store sorc:result  sort命令之store参数:表示把sort查询的结果集保存起来

    订阅与发布:
        订阅频道:subscribe chat1
        发布消息:publish chat1 "hell0 ni hao"
        查看频道:pubsub channels
        查看某个频道的订阅者数量: pubsub numsub chat1
        退订指定频道: unsubscrible chat1   , punsubscribe java.*
        订阅一组频道: psubscribe java.*
        
    redis事物:
         隔离性,原子性, 
         步骤:  开始事务,执行命令,提交事务
                 multi  //开启事务
                 sadd myset a b c
                 sadd myset e f g
                 lpush mylist aa bb cc
                 lpush mylist dd ff gg
    
    服务器管理
        dump.rdb
        appendonly.aof
        //BgRewriteAof 异步执行一个aop(appendOnly file)文件重写
        会创建当前一个AOF文件体积的优化版本
        
        //BgSave 后台异步保存数据到磁盘,会在当前目录下创建文件dump.rdb
        //save同步保存数据到磁盘,会阻塞主进程,别的客户端无法连接
        
        //client kill 关闭客户端连接
        //client list 列出所有的客户端
        
        //给客户端设置一个名称
          client setname myclient1
          client getname
          
         config get port
         //configRewrite 对redis的配置文件进行改写

    rdb 
    save 900 1
    save 300 10
    save 60 10000

    
    

    aop备份处理
    appendonly yes 开启持久化
    appendfsync everysec 每秒备份一次

    
    

    命令:
    bgsave异步保存数据到磁盘(快照保存)
    lastsave返回上次成功保存到磁盘的unix的时间戳
    shutdown同步保存到服务器并关闭redis服务器
    bgrewriteaof文件压缩处理(命令)

  • 相关阅读:
    整数N分解,搭积木,离散数学中的母函数,ZOJ(1163)
    背包问题模板,POJ(1014)
    DP之背包问题详解及案例
    Java基础部分全套教程.
    一位资深程序员大牛给予Java初学者的学习路线建议
    给Java新手的一些建议——Java知识点归纳(Java基础部分)
    一位10年Java工作经验的架构师聊Java和工作经验
    假如时光倒流,我会这么学习Java
    一位资深程序员大牛给予Java初学者的学习路线建议
    2年Java开发工作经验面试总结
  • 原文地址:https://www.cnblogs.com/wwmiert/p/10539298.html
Copyright © 2011-2022 走看看