美文网首页
Redis命令

Redis命令

作者: 勿以浮沙筑高台 | 来源:发表于2016-03-27 00:50 被阅读194次

    Redis命令用于在redis服务上执行操作。
    要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们从官网下载的的 redis 安装包中。

    语法
    启动Redis 客户端的基本语法为:redis-cl
    ping 命令用语检查 redis服务是否启动

    在远程服务上执行命令
    $ redis-cli-h host-p port-a password

    KEY命令

    String类型及操作
    1.set:设置key对应的值为string类型的value
    2.setnx:nx是not exist的意思
    3.setex:指定此键值对应的有效期
    4.setrange:设置制定key的value值的子字符串
    5.mset、msetnx:一次设置多个键值
    6.get:获取key对应的string值
    7.getset:设置key的值,并返回key的旧值
    8.getrange:获取key的value值的子字符串
    9.mget:一次获取多个key值
    10.incr:对key的值做加加操作
    11.incrby:同incr类似,加指定值
    12.decr:对key的值做减减操作
    13.decrby:同decr,减指定值
    14.append:给指定的key追加value
    15.strlen:去指定key的value值的长度

    hashes类型及操作
    1.hset:设置hash filed为指定值,如果key不存在,则先创建
    2.hsetnx:设置hash filed为指定值,如果key不存在,则先创建
    3.hmet:同时设置hash的多个filed
    4.hget:获取指定的hash filed
    5.hmget:获取全部指定的filed
    6.hincrby:指定的filed加上给定值
    7.hexists:指定filed是否存在
    8.hlen:删除指定filed
    9.hkeys:获取hash的所有filed
    10.hvals:返回hash的所有value
    11.hgetall:获取hash中全部的filed及value

    lists类型及操作
    1.lpush:在key对应的头部添加字符串元素
    2.rpush:在可以对应的尾部添加字符串元素
    3.linsert:在list的特定位置之前或之后添加字符串元素
    4.lset:设置list 中指定下标的元素值
    5.lrem:从list中删除count个和value相同的元素,count>0 按从头到尾的顺序删除,count<0 按从尾到头的
                 顺序删除,count=0删除全部
    6.ltrim:保留指定key的值范围内的数据
    7.lpop:从list的头部删除元素,并返回删除元素
    8.rpop:从list的尾部删除元素,并返回删除元素
    9.rpoppush:删除第一个list的尾部元素添加到第二个元素头部
    10.lindex :获取list中index位置的元素
    11.llen:获取list的长度

    持久化机制
    Redis能在生产环境使用的持久化方式有两种:
       1.定时快照方式(snapshot):
             该持久化方式是在Redis的内部设置一个定时器,定时检查数据变化的次数和时间是否匹配持久话出发的条件,
             如果满足就通过操作系统fork调用创建一个子进程,父子进程享有相同的物理页面,当父进程处理写请求时,
             OS会为父进程要修改的页面创建副本,而不是写共享的页面。所以子进程地址空间内的数据是fork时刻整个
             数据库的一个快照。当子进程将快照写入临时文件完毕后,用临时文件代替原来的快照文件,然后子进程退出。
        缺点:快照只是代表一段时间内的内存映像,所以系统重启会丢失最后一次快照后的所有数据。

       2.基于语句追加方式(aof)
            类似MySQL的binlog方式,每条写命令都会通过write函数追加到一个log文件中。由于OS会在内核中缓存write
            做的修改,所以可能不会立即写到磁盘上。可以配置Redis调用fsync函数强制OS写入到磁盘的时机。有三种方式
            如下:
                     a. appendsync always // 收到写命令立即写入磁盘,最慢,但最保证完全的持久化
                     b. appendsync everysec  // 每秒钟写入磁盘一次,在持久化和性能方面做了很好的折中
                     c. appendsync no  // 完全依赖OS,性能最好,持久化没有保证
        缺点:log文件的体积会越来越大,当系统重启恢复数据时加载会非常慢。由于每条写命令都要写log,Redis的读写性
                  能也会有所下降。
            Redis提供了bgrewriteaof命令来压缩aof的持久化文件,收到此命令Redis使用类似于快照的方式将内存中的数据以
            命令的方式保存到临时文件中,最后替换原来的文件。


    相关文章

      网友评论

          本文标题:Redis命令

          本文链接:https://www.haomeiwen.com/subject/xxodlttx.html