zoukankan      html  css  js  c++  java
  • redis

    1. string基础操作

    1.1 基本操作

    1. 添加/修改数据
        set key value
    2. 获取数据
        get key
    3. 删除数据
        del key
    1. 添加/修改多条数据
        mset k1 v1 k2 v2
    2. 获取多条数据
        mget k1 k2
    3. 获取字符串长度
        strlen(key)
    4. 拼接到原来的值后面(有则拼接,无则添加)
        append k v
        将v拼接到原先存在的v的后面(200+300=200300)

     1.2 对纯数字的string进行加减

    1. 对值进行加减
        
        incr key  加1
        decr key 减一
        incrby key increment 加increment
        decrby key increment 减increment
        incrbyfloat key 小数操作

     1.3 设置键值的有效时间

    1. setex key seconds value
    2. psetex key milliseconds value

    1.4 数据未获取到时,返回nil

    1.5 key的设置规则

    表名:主键名:主键值:字段名
    set stock_base_info:id:3033:name 光明乳业

    2. hash

    1. 解释

     2.基本操作

      hset key field value

      hget key field

      hgetall

      hdel key field1 [field2]

      多条操作

      hmset key field1 value1 field2 value2

      hmget key field1 field2

      获取key对应字段的数量

      hlen key

      判断是否存在指定字段

      hexists key field

    3. 进阶操作

      获取所有字段名: hkeys key

      获取所有字段值:hvals key

      字段值增加:hincrby(hincrbyfloat) key field increment

    4. 注意

      hash的值只能存储字符串(字符串格式的数字,字典都可以),不能存另外的hash

    5. 有则不动,无则添加

      hsetnx key field value

     3. list

    1. 类似一个可以从左右进出的通道
    2. 注意从先进先出,从左右进与出的顺序决定了他的位置
    3. 添加修改数据
      lpush key value1 [value2] # 从左边进
      rpush key values [value2] # 从右边进
    4. 获取数据
      lrange key start stop
      lindex key index
      llen key
    5. 获取并移除数据,返回移除的值
      lpop key # 左
      rpop key # 右
    6. 队列实现
      blpop key1 [key2] timeout # 如果key1(和key2)中有元素,则直接删除第一个并返回,没有的话,就等待timeout时间,没有就返回nil,有则返回第一个删除的值。
      brpop key1 [key2] timeout
    7. 删掉指定的值
      lrem key count value # 从左边删除count个value值


     4. set

    1. 与hash结构完全相同,仅存储键,值得部分为nil。因为键不能重复,那么set是不会有重复值的

     基本操作

      1. 添加数据 sadd key member1 [member2]

      2. 获取全部数据 smembers key

      3. 删除数据 srem key member1 [member2]

      4. 获取集合总量 scard key

      5. 判断集合是否包含指定数据 sismember key member

      6. 随机查询count条元素,原集合不变 srandmember key [count]

      7. 随机删除count条元素并返回 spop key [count]

      

      两个集合交并补

      8. 交集:sinter key1 key2

      9. 并集:sunion key1 key2

      10. 补集:sdiff key1 key2

      找出交并补,并存储为新的集合

      11. sinterstore destination_key key1 key2

      12. sunionstore destination_key key1 key2

      13. sdiffstore destionation_key key1 key2

      将指定集合从原集合移动到指定集合

      14. smove source_key destionation_key member 将source_key中的member移动到destination_key中

     5. sorted_set

    1. 与set类似,但是在后面加了一个score字段作为排序

     基本操作

    2. 添加数据:zadd key score1 member1 [score2, member2]

    3. 从左到右获取全部数据:zrange key start stop [withscores]  # withscores分两行展示member和score

    4. 从右到左获取全部数据:zrevrange key start stop [withscores]

    5. 删除数据:zrem key member1 [member2]

    6. 获取score在min和max之间的数据:zrangebyscore key min max [withscores] [limit]

    7. 获取score在min和max之间的数据:zrevrangebyscore key min max [withscores] [limit]

    8. 删除索引条件的数据:zremrangebyrank key start stop

    9. 删除socre满足条件的数据:zremrangebyscore key min max 

    10. 获取集合长度:zcard key

    11. 获取集合长度: zcard key min max

    12. 集合交操作:zinterscore destination numkeys key1 [key2] [aggregate max] 将numkeys个几个按照键做交集并将score默认相加(或者取max)

    13. 获取索引值:zrank key memeber

    14. 获取score值:zscore key member

    15. score值修改:zincreby key increment member

  • 相关阅读:
    Log4net实例(转自http://zjuoliver.blog.163.com/blog/static/5101920084299524443/)
    不同数据库获取新增加的主键值
    asp.net中的ALERT类
    Log4net操作指南(转自http://www.cnblogs.com/dragon/archive/2005/03/24/124254.html)
    阅读器关闭时尝试调用Read无效
    LINQ中文教程LINQ初体验之LINQ to Object
    vs2010设置默认浏览器
    附加数据库时出现错误解决办法
    oracle安装后,第一次登陆的步骤
    已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭
  • 原文地址:https://www.cnblogs.com/JackShi/p/15547969.html
Copyright © 2011-2022 走看看