一、Redis命令行客户端

前言:安装完成Redis之后,在系统的配置文件init.d 中有redis的启动文件,打开此启动文件发现有一个redis-cli,此及为命令行客户端

运行:在init.d下直接运行redis-cli即可进入Redis命令行工具

命令:

redis-cli :进入到redis客户端
  auth pwd :输入密码
  set key value :设置缓存
  get key :获得缓存
  del key :删除缓存
  redis-cli -a password shutdown :关闭redis
  ./redis_init_script stop :关闭redis
  redis-cli -a password ping :查看是否存活

redis-cli 命令行 redis中命令_数据

redis-cli 命令行 redis中命令_redis-cli 命令行_02

二、数据类型【5】 - 指令均在命令行工具执行

**1、string**:最简单的字符串类型键值对缓存,也是最基本的,文字和数字存放统一用string,区别在于数字可以进行增、减动作,不用转换类型

  命令:

    key相关

        keys *:查看所有的key (不建议在生产上使用,有性能影响)

        type key:key的类型

    string类型

        get/set/del:查询/设置/删除

        set rekey data:设置已经存在的key,会覆盖

        setnx rekey data:设置已经存在的key,不会覆盖

        set key value ex time:设置带过期时间的数据

        expire key:设置过期时间

        ttl:查看剩余时间,-1永不过期,-2过期

        append key:合并字符串

        strlen key:字符串长度

        incr key:累加1

        decr key:类减1

        incrby key num:累加给定数值

        decrby key num:累减给定数值

        getrange key start end:截取数据,end=-1 代表到最后

        setrange key start newdata:从start位置开始替换数据

        mset:连续设值

        mget:连续取值

        msetnx:连续设置,如果存在则不设置

    其他

      select index:切换数据库,总共默认16个

      flushdb:删除当前下边db中的数据

      flushall:删除所有db中的数据

redis-cli 命令行 redis中命令_redis-cli 命令行_03

redis-cli 命令行 redis中命令_redis-cli 命令行_04

2、hash:类似map,存储结构化数据结构,比如存储一个对象(不能有嵌套对象)

使用

  hset key property value:

  -> hset user name imooc

  -> 创建一个user对象,这个对象中包含name属性,name值为imooc

  hget user name:获得用户对象中name的值

  hmset:设置对象中的多个键值对

  -> hset user age 18 phone 139123123

  hmsetnx:设置对象中的多个键值对,存在则不添加

  -> hset user age 18 phone 139123123

  hmget:获得对象中的多个属性

  -> hmget user age phone

  hgetall user:获得整个对象的内容

  hincrby user age 2:累加属性

  hincrbyfloat user age 2.2:累加属性

  hlen user:有多少个属性

  hexists user age:判断属性是否存在

  hkeys user:获得所有属性

  hvals user:获得所有值

  hdel user:删除对象

3、list

 list:列表,[a, b, c, d, …]

 使用

   lpush list名称1 2 3 4 5:构建一个list,从左边开始存入数据

   rpush list名称1 2 3 4 5:构建一个list,从右边开始存入数据

   lrange list名称 start end:获得数据

   lpop:从左侧开始拿出一个数据

   rpop:从右侧开始拿出一个数据

   pig cow sheep chicken duck

   llen list名称:list长度

   lindex list名称 index:获取list下标的值

   lset list名称 index value:把某个下标的值替换

   linsert list名称 before/after value:插入一个新的值

   lrem list名称 num value:删除几个相同数据

   ltrim list名称 start end:截取值,替换原来的list

redis-cli 命令行 redis中命令_redis-cli 命令行_05


redis-cli 命令行 redis中命令_缓存_06


redis-cli 命令行 redis中命令_数据_07


redis-cli 命令行 redis中命令_redis-cli 命令行_08


4、set

sadd:新增set集合
	smembers:查询set集合中的内容 
	scard tset:查询set集合的长度
	sismember:查询集合中是否存在某一个元素,存在返回1,不存在返回0
	srem:移除集合中的元素
	srandmember:随机从集合中取出几个元素
	smove:从某一个集合移动元素到另外一个集合
	sdiff:集合取差集,原则:前者集合有,后者集合没有
	sinter:交集
	sunion:并集

redis-cli 命令行 redis中命令_数据_09


redis-cli 命令行 redis中命令_数据_10


5、zset

使用

zadd zset 10 value1 20 value2 30 value3:设置member和对应的分数

zrange zset 0 -1:查看所有zset中的内容

zrange zset 0 -1 withscores:带有分数

zrank zset value:获得对应的下标

zscore zset value:获得对应的分数

zcard zset:统计个数

zcount zset 分数1 分数2:统计个数

zrangebyscore zset 分数1 分数2:查询分数之间的member(包含分数1 分数2)

zrangebyscore zset (分数1 (分数2:查询分数之间的member(不包含分数1 和 分数2)

zrangebyscore zset 分数1 分数2 limit start end:查询分数之间的member(包含分数1 分数2),获得的结果集再次根据下标区间做查询

zrem zset value:删除member

redis-cli 命令行 redis中命令_缓存_11


redis-cli 命令行 redis中命令_数据_12


redis-cli 命令行 redis中命令_缓存_13


redis-cli 命令行 redis中命令_redis-cli 命令行_14


redis-cli 命令行 redis中命令_缓存_15


redis-cli 命令行 redis中命令_数据_16


redis-cli 命令行 redis中命令_redis_17


redis-cli 命令行 redis中命令_redis_18


redis-cli 命令行 redis中命令_数据_19