美文网首页web开发
redis学习笔记

redis学习笔记

作者: tommy123 | 来源:发表于2016-06-04 11:05 被阅读118次

keys

redis本质上是一个key-value数据库

  1. 设置:set key value
  2. 获取:get key
  3. 判断存在:exists key
  4. 删除:del key del test:fan:age
  5. 重命名:rename oldkey newkey
  6. 数量:dbsize 返回数据
  7. 获取所有key(通配符):Keys test:*:age
    Keys test:?:age
  8. 清空:flushdb flushall
  9. 设置有效时间:expire test:fan:age 30
  10. 查询有效时间:ttl test:fan:age

String类型

  1. 设置:
    set key value
    setnx ky value(nx是not exist)
    mset key1 value1 keyN valueN
    msetnx key1 value1 keyN valueN
  2. 获取:
    get 不存在返回nil
    getset 设置key的值,并返回key的旧值,不存在返回nil
    mget
  3. 自增减:
    incr key 对key的值进行++操作,返回新的值
    decr key
    incrby key integer 对key加上一个数值
    decrby key integer
  4. 截取:
    substr key indexStart indexEnd 下标从0开始
  5. 追加:
    append key value

list类型

redis的list其实就是一个每个元素都是string 的双向链表,所以push和pop的时间复杂度都是O(1)

  1. 添加
    lpush key string 在头部添加
    rpush key string 在尾部添加
  2. 修改
    lset key index value 修改指定下标的key的值
  3. 删除
    lpop key 从头部返回删除
    rpop key 从尾部
    lrem key count value 删除count个相同的value,count为0删除全部
    blpop key ...keyN timeout
    brpop 从尾部删除
  4. 获取
    lrange key indexStart indexEnd
  5. 数量
    llen key 返回key对应的list长度
  6. 截取
    ltrim key start end
  7. 转移
    rpoplpush key1 key2 从key1尾部移到key2头部

set集合

redis的set就是String的无序集合,通过hashtable实现

  1. 添加
    sadd key member
  2. 删除
    srem key member 移除指定的元素
    spop key 删除并返回一个随机的
  3. 获取
    smembers key 返回所有
    srandmember 随机取一个不删除
  4. 判断存在
    sismember key member
  5. 数量
    scard key 返回元素个数
  6. 转移
    smove srckey dstkey member
  7. 取交集
    sinter key1 key2 keyN
    sinterstore dstkey key1 keyN 将交集存在dstkey
  8. 取并集
    sunion key1 key2 keyN
    sunionstore dstkey key1 keyN 将并集存在dstkey
  9. 取差集
    sdiff key1 key2 keyN
    sdiffstore dstkey key1 keyN 将差集存在dstkey

有序set类型

和set一样,不同的是每个元素关联一个double类型的score,根据score排序,sorted set的实现由skip list和hashtable

  1. 添加
    zadd key score member
  2. 删除
    zrem key member
    zremrangebyrank key min max
    zremrangebyscore key min max 删除集合score在给定区间的元素
  3. 获取
    zrange key start end
    zrevrange key start end 按score的逆序
    zrangebyscore key min max
  4. 判断存在
    zrank key member 返回下标
    zrerank key member 返回逆序的下标
  5. 数量
    zcard key 总数
    zcount key min max 区间的数量
  6. 修改
    zincrby key incr member 增加member的score值并排序

hash类型

redis的hash是一个string类型的field和value的映射表,hash特别适合存储对象,

  1. 设置:
    hset key field value
    hmset key field1 value1 field2 value2
  2. 获取:
    hget key field
    hmget key field1 field2
  3. 判断存在
    hexists key field
  4. 删除
    hdel key field
  5. 查找
    hkeys key 返回所有 field
    hvals key 返回所有的value
    hgetall key 返回所有field和value
  6. 数量
    hlen key
  7. 值加减
    hincrby key field integer 将指定的hash field加上定值

如果文章对你有帮助,请去我的博客留个言吧! 我的博客

相关文章

  • 【Redis】Redis学习笔记(五)jedis(JedisCl

    redis系列文章目录 redis学习笔记(一)redis3.2.5集群安装与测试 redis学习笔记(二)Jed...

  • Redis学习笔记:事务

    Redis学习笔记:事务 原文链接:Redis学习笔记:事务 一、事务的描述 和MySQL一样,Redis中也有事...

  • Redis 参数

    Redis Redis 学习笔记 II 常见参数配置

  • 2018-11-12

    Redis学习笔记 Redis在在线测试 Redis官网 REmote DIctionary Server(Red...

  • Redis 初识

    初识 Redis 《 Redis 开发与运维》的学习笔记,希望大家多多指导。 什么是 Redis Redis 的全...

  • Redis—Redis入门安装及基础数据的知识

    Redis学习笔记所有文章:https://www.jianshu.com/nb/33547142 Redis安装...

  • 数据库Redis在Windows上的使用教程

    Redis学习笔记----Redis在windows上的安装配置和使用 Redis简介 redis是一个key-v...

  • Redis 学习笔记

    Redis 学习笔记 原文:硬核!16000 字 Redis 面试知识点总结,建议收藏! Redis 基础知识 R...

  • Redis 数据类型

    Redis Redis 学习笔记 II Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、...

  • Redis 安装

    Redis Redis 学习笔记 I Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可...

网友评论

    本文标题:redis学习笔记

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