zoukankan      html  css  js  c++  java
  • 106_Reids基础命令——开关性能、String、List

    Redis数据库的启动与关闭:

      1、启动redis服务:(其实就是启动redis服务器)
        redis-server:前台启动(默认采用的是redis-conf配置文件,这个文件决定了ip地址与端口号)
        redis-server &:后台启动
        redis-server redis-conf6380:这个配置文件可以使我们自定义端口与ip启动服务,在主从同步用到了。

      2、客户端发起连接请求
        redis-cli:启动redis的客户端,默认连接本机(127.0.0.1)上的6379端口上的redis服务。
        redis-cli -h 192.168.2.129 -p 6379:启动redis客户端,指定ip和port。
      3.退出客户端
        exit/quit

      4、关闭redis服务:
        redis-cli -h 192.168.2.129 -p 6379 shutdown :如果使用实际ip地址关闭,必须在非受保护模式下运行;
        redis-cli -h 127.0.0.1 -p 6379 shutdown:无论在任何运行模式下都可以关闭。
    =====================================================================================
    关于redis的使用指令:
      1、基本指令:
        1)、测试redis性能:redis-benchmark(在任意目录下执行)
        2)、测试redis服务是否正常运行:ping--->pong(我们敲击ping返回pong)
        3)、统计redis服务端的信息:info [section]
          info:查看redis所有的统计信息
          info Replication:查看redis某一项统计信息,replication是【主从节点】参数
        4)、切换数据库实例:redis自动创建16个数据库实例,并且给数据库实例进行编号(0-15),默认使用编号是0的数据库实例。
          select 1 //切换到第二个数据库
        5)、查看数据库中有记录的条数(键值对的个数):dbsize
        6)、查看数据库中有哪些key:keys *
        7)、清空当前数据库中所有的数据:flushdb
        8)、清空所有数据库中的数据:flushall
      2、redis的五种数据结构:
        针对应用程序处理的不同数据类型存储在不同的数据结构中。
        基本类型数据(八大基本类型、String)----string
        数组、list----------------------------list
        set-----------------------------------set
        实体类--------------------------------hash
        按照某种标准排序的set-----------------zset
       3、关于key基本操作指令(五种数据类型都适用):k-v
        1)、查看数据库中key的数量:dbsize
        2)、查看数据库中有哪些key:keys [参数]
          keys *:查看数据库中所有的key
          keys w*d:查看数据库所有以w开头,以d结尾的key。
          keys w?d:查看数据中所有w开头,d结尾,中间有任何一个字符的key。
          keys wo[abc]d:查看数据中所有wo开头,d结尾,中间有任何一个字符(只能从abc选)的key。
        3)、判断指定的key在数据库是否存在:exists key key key.....
          exists word
          exists word k1 k2 k3...//一次性判断多个key,他的返回值是存在几个key
        4)、移动key到指定的数据库实例:move key db
          move word 1:把word移动到编号是1的数据库实例中。
        5)、查看key的剩余生存时间:ttl(time to live) key
          |->-1:key没有设置最大生存时间,key永远不会自动删除。
          |->n:key最大能生存n秒
          |->-2:key不存在
        6)、设置key的最大生存时间:expire key seconds(这个方法好像只能对已经创建好的键设置)
          expire k1 20
        7)、查看key的数据类型:type key
          type k1
        8)、修改key的名字:rename key newKey
          rename k1 kk1 //将k1修改成kk1
        9)、删除key:del key key .....
          del kk1 k2  //一次性删除多个key
    4、关于字符串类型数据的操作命令:k-v
      1)、将字符串设置到key中:set k v
        set k1 v1
        *如果k1已经存在,则后方的value会把原来的value覆盖。
      2)、获取key中的数据:get key
        get k1
        get count
        get flag
      3)、往字符串值中追加字符串:append key value
        append k1 abc
      4)、求字符串长度:strlen key
        strlen k1
      5)、将字符串key中的值做加1运算:incr key
        |->要求key中的字符串只能是数字,否则,报错。
        incr count
        incr k1---报错
      6)、将字符串key中的值做减1运算:decr key
        |->要求key中的字符串只能是数字,否则,报错。
        decr count
        decr k1--报错
      7)、将字符串key中的值做加一个数运算:incrby key offset(只能做整数加减)
        |->要求key中的字符串只能是数字,否则,报错。
        incrby count 5
        incrby k1--报错
      8)、将字符串key中的值做减一个数运算:decrby key offset
        |->要求key中的字符串只能是数字,否则,报错。
        decrby count 5
        decrby k1--报错
      9)、截取字符串中从下标为startIndex字符开始到下标为endIndex的字符结束:getrange key startIndex endIndex
        下标都是从0开始计算,下标也可以是负数,表示从后往前计算,比如:-1表示最后一个字符的下标。
        v1abc
        getrange k1 1 3==>1ab
        getrange k1 1 -1 ===>1abc
        getrange k1 1 -2 ===>1ab
      10)、使用value覆盖字符串key,从下标为startIndex字符开始覆盖,指导覆盖完毕:setrange key startIndex value
        v1abc
        setrange k1 2 xx==>v1xxc (注意此时我们的下标不能以-1表示最后一个)
      11)、设置key的同时,指定最大生存时间:setex key seconds value
        setex k2 20 zhangSan
      12)、往key中设置字符串,只有当key不存在时才设置,如果key已经存在,则不设置:setnx key value
        setnx k1 vvvv1
      13)、批量设置key-value字符串:mset key vlaue [key value key value .....]
        mset k2 v2 k3 v3 k4 v4 k5 v5
      14)、批量获取字符串:mget key [key key key ....]
        mget k1 k2 k3 k4 k5 count
      15)、批量往key中设置字符串,只有当所有的key不存在时才设置,如果有一个key已经存在,则全部设置失败:msetnx key value [key value ....]
        msetnx aa bb cc dd k1 vvvv1
    5、关于列表(list)操作命令:一个key有多个值(元素),有序可重复,左侧是表头右侧是表尾。
      1)、将一个或者多个值插入到表头:lpush key value [value value .....]
        5 4 3 2 1
        lpush list01 1
        lpush list01 2
        lpush list01 3 4 5
      2)、将一个或者多个值插入到表尾:rpush key value [value value .....]
        1 2 3 4 5
        rpush list02 1
        rpush list02 2 3 4 5
      3)、获取列表的元素:lrange key startIndex endIndex
        下标都是从0开始计算,下标也可以是负数,表示从尾往前计算,比如:-1表示最后一个元素的下标。
        5 4 3 2 1
        lrange list01 1 3===>432
        lrange list01 0 -1
      4)、从表头中移除元素:lpop key
        lpop list01
      5)、求列表长度:llen key
        llen list01
      6)、截取列表中指定下表区间的元素组成的子列表,并且赋值给key:ltrim key startIndex endIndex
        4 3 2 1
        ltrim list01 1 2===>3 2
      7)、将列表中的指定元素替换成某一个值:lset key index value
        lset list01 1 5
      8)、往列表中值为pivot的元素的前边/后边插入value:linsert key before/after pivot value
        linsert list01 before 5 4
        linsert list01 after 4 6

  • 相关阅读:
    2018第九届蓝桥杯C/C++ B国赛 —— 第三题:格雷码
    数据结构和算法 —— 谈谈算法
    数据结构和算法 —— 谈谈算法
    数据结构和算法 —— 绪论
    数据结构和算法 —— 绪论
    2018第九届蓝桥杯C/C++ B国赛 —— 第二题:激光样式
    2018第九届蓝桥杯C/C++ B国赛 —— 第二题:激光样式
    2018第九届蓝桥杯C/C++ B国赛 —— 第一题:换零钞
    围棋
    恶搞造句
  • 原文地址:https://www.cnblogs.com/pogusanqian/p/12697372.html
Copyright © 2011-2022 走看看