zoukankan      html  css  js  c++  java
  • redis

    redis(nosql)

    启动与连接命令

    启动服务器redis-server

    • 客户端连接redis-cli
    • 数据库没有名称,一共有16个,默认使用第一个
      • select 10 选择第十个数据库

    键命令

    查找key,参数支持正则表达式

    keys pattern

    • 查找所有key
      key *
    • 查看名称中包含a的key
      key a*

    判断key是否存在,如果存在返回1,不存在返回0

    exists key1

    • 判断key a1是否存在
      exists a1

    判断key对应的value的类型

    type key

    删除key及指定的value

    del key1 key2...

    • 删除key a2,a3
      del a2 a3

    设置过期时间,以秒为单位

    expire key seconds

    • 设置key a1的过期时间为3秒
      expire a1 3

    查看有效时间,以秒为单位

    ttl key

    • 查看key bb 的有效时间
      ttl bb

    数据操作

    string

    字符串类型是redis中最基础的数据存储类型,
    它是二进制文件,意味着可以接受任何格式的数据 如:图像或json对象描述信息,
    字符串Value最多可以容纳的数据长度是512M

    • 保存

    • 重新设置即为修改

      • 设置键值 set key value
        • 设置键为name值为itcast的数据
          set name itcast
      • 设置键值及过期时间
        • 设置键为aa值为aa过期时间为3秒的数据
          setex aa 3 aa
      • 设置多个key value
        • mset key1 value1 key2 value2...
          • 设置key为a1 value为 python,key为a2 value为java,key为a3 value为c
            mset a1 python a2 java a3 c
      • 追加值
        • append key value
          • 向key为a1中追加value haha
            append a1 haha
    • 获取

      • 根据key获取value,如果不存在key则返回nil get key
        • 获取key name的value
          get name
      • 根据多个key获取多个value
        mget key1 key2...
        • 获取a1,a2,a3的值
          mget a1 a2 a3
    • 删除

      • 把key删除,则value也会删除

    hash

    hash用于存储对象,对象的结构为属性,值
    值的类型为string

    • 保存
      • 设置单个属性
        hset key field value
        • 设置key user的属性name为 itboy
          hset user name itboy
      • 设置多个属性
        hmset key field1 value1 field2 value2..
        • 设置key u2 的属性name为itboy,属性age为11
          hmset u2 name itboy age 11
    • 获取
      • 获取指定key所有的属性
        hkeys key
        • 获取key u2 的所有属性
          hkeys u2
      • 获取一个属性的值
        hget key field
        • 获取key u2属性的name值
          hget u2 name
      • 获取多个属性的值
        hmget key gield1 field2 ...
        • 获取键u2属性'name'、'age的值
          hmget u2 name age
      • 获取所有属性的值
        hvals key
        • 获取键'u2'所有属性的值
          hvals u2
    • 删除
      • 删除整个hash键及值,使⽤del命令
      • 删除属性,属性对应的值会被⼀起删除
        hdel key field1 field2 ..
        • 删除键'u2'的属性'age'
          hdel u2 age

    list类型

    列表的元素类型为string
    按照插⼊顺序排序

    • 增加
      • 在左侧插⼊数据
        lpush key value1 value2 ...
        • 从键为'a1'的列表左侧加⼊数据a 、 b 、c
          lpush a1 a b c
      • 在右侧插⼊数据
        rpush key value1 value2 ...
        • 从键为'a1'的列表右侧加⼊数据0 1
          rpush a1 0 1
      • 在指定元素的前或后插⼊新元素
        linsert key before或after 现有元素 新元素
        • 在键为'a1'的列表中元素'b'前加⼊'3'
          linsert a1 before b 3
    • 获取
      • 返回列表⾥指定范围内的元素
        start、stop为元素的下标索引
        索引从左侧开始,第⼀个元素为0
        索引可以是负数,表示从尾部开始计数,如-1表示最后⼀个元素
        lrange key start stop
        • 获取键为'a1'的列表所有元素
          lrange a1 0 -1
    • 设置指定索引位置的元素值
      • 索引从左侧开始,第⼀个元素为0
        索引可以是负数,表示尾部开始计数,如-1表示最后⼀个元素
        lset key index value
        • 修改键为'a1'的列表中下标为1的元素值为'z'
          lset a 1 z
    • 删除
      • 删除指定元素
        将列表中前count次出现的值为value的元素移除
        count > 0: 从头往尾移除
        count < 0: 从尾往头移除
        count = 0: 移除所有
        lrem key count value
        • 向列表'a2'中加⼊元素'a'、'b'、'a'、'b'、'a'、'b'
          lpush a2 a b a b a b
        • 从'a2'列表右侧开始删除2个'b'
          lrem a2 -2 b
        • 查看列表'py12'的所有元素
          lrange a2 0 -1

    set类型

    ⽆序集合
    元素为string类型
    元素具有唯⼀性,不重复
    说明:对于集合没有修改操作

    • 增加
      • 添加元素
        sadd key member1 member2 ...
        • 向键'a3'的集合中添加元素'zhangsan'、'lisi'、'wangwu'
          sadd a3 zhangsan sili wangwu
    • 获取
      • 返回所有的元素
        smembers key
        • 获取键'a3'的集合中所有元素
          smembers a3
    • 删除
      • 删除指定元素
        srem key
        • 删除键'a3'的集合中元素'wangwu'
          srem a3 wangwu

    zset类型

    sorted set,有序集合
    元素为string类型
    元素具有唯⼀性,不重复
    每个元素都会关联⼀个double类型的score,表示权重,通过权重将元素从⼩到⼤排序
    说明:没有修改操作

    • 增加
      • 添加
        zadd key score1 member1 score2 member2 ...
        • 向键'a4'的集合中添加元素'lisi'、'wangwu'、'zhaoliu'、'zhangsan',权重分别为4、5、6、3
          zadd a4 4 lisi 5 wangwu 6 zhaoliu 3 zhangsan
    • 获取
      • 返回指定范围内的元素
        start、stop为元素的下标索引
        索引从左侧开始,第⼀个元素为0
        索引可以是负数,表示从尾部开始计数,如-1表示最后⼀个元素
        zrange key start stop
        • 获取键'a4'的集合中所有元素
          zrange a4 0 -1
      • 返回score值在min和max之间的成员
        zrangebyscore key min max
        • 获取键'a4'的集合中权限值在5和6之间的成员
          zrangebyscore a4 5 6
      • 返回成员member的score值
        zscore key member
        • 获取键'a4'的集合中元素'zhangsan'的权重
          zscore a4 zhangsan
    • 删除
      • 删除指定元素
        zrem key member1 member2 ...
        • 删除集合'a4'中元素'zhangsan'
          zrem a4 zhangsan
      • 删除权重在指定范围的元素
        zremrangebyscore key min max
        • 删除集合'a4'中权限在5、6之间的元素
          zremrangebyscore a4 5 6

    XMind: ZEN - Trial Version

  • 相关阅读:
    Emmet Documentation
    微软雅黑的Unicode码和英文名
    Eclipse让代码自动换行(WordWarp)
    如何更改MyEclipse代码自动换行的长度?
    PHP之道推荐使用PHP版本,数据库方式,以及虚拟机的创建程序
    ime-mode:disabled是什么?
    document.getElementsByClassName在ie8及其以下浏览器的兼容性问题
    Unobtrusive JavaScript 不唐突的JavaScript的七条准则
    详解 arguments, callee, caller, call, apply的区别
    怎样在谷歌浏览器上加载金山词霸的取词插件?
  • 原文地址:https://www.cnblogs.com/serpent/p/9757278.html
Copyright © 2011-2022 走看看