Redis复习篇

橙三吉。 提交于 2020-03-08 15:15:31

1.Redis(简单的,高效的,分布式,基于内存的缓存机制)

1.1 性能极高:

  • 读 110000次/s
  • 写 81000次/s

1.2 丰富的数据类型:

  • String,List,Hash,Set,Ordered Set

1.3 Redis操作都是具有原子性的

1.4 Redis单个Key能存入512M大小

2.Redis 数据类型

2.1 String

2.1.1 String类型常用命令:

  • 赋值语法:
    set key value:设置Key的值,如果key已经存在则覆盖。
    ++setnx key value:只有key不存在时设置key的值(解决分布式锁方案之一)。++

  • 取值语法:
    get key : 获取key对应的值,如果key不存在则返回nil。
    getrange key start end :对获取key对应的值进行截取。
    getbit key offset :对key所存储的字符串值,获取指定偏量上的位(bit)。
    mget [key1,key2…] : 获取给定一个或多个key的值。
    getset key value : 该语法用于设定key的值并返回旧值。
    strlen key :返回key存储字符串的长度。

  • 删除语法:
    del key : 删除指定的key,如果存在返回数字类型。

  • 自增自减:
    incr key : incr命令将key的值增一。如果key不存在,那么key的值先被初始化为0,然后在执行incr操作+1。
    decr key : decr命令将key的值减一。如果key不存在,那么key的值先被初始化为0,然后在执行incr操作-1。

incrby ken 增加量 : incrby命令将key中存储的数字加上指定的增加量。
decrby key 减少量 : decrby命令将key中存储的数字减去指定的减加量。

  • 字符串拼接:
    append key value :append命令用于指定key追加至末尾,如果不存在就为其赋值。

2.1.2 应用场景:

  • String常用于保存单个字符串或者json字符串数据。
  • 因为String时二进制安全的,所以你完全可以把一个图片文件内容作为字符串存储。
  • 计数器(常规的key——value缓存应用常用计数,微博中粉丝数):
    incr等指令本身就具有原子性操作的特征,因此我们可以利用redis的incr,incrby,decr,decrby等指令实现原子计数的效果。

2.2 哈希(Hash)

2.2.1 简介

Redis hash 是一个sting类型的filed和value的映射表,hash非常适合存储对象。Redis中hash可以存储 2的32次方-1 键值对(40多亿)可以看成具有key和value的MAP容器。该类型占用很少的磁盘空间(相比于json)

2.2.2 Hash 命令

  • 赋值语法 :
    hset key field value : 为指定的key设置 k/v(域/值)。
    hmset key field value [field,value]… : 同时将多个field-value对设置到哈希表key中。
  • 取值语法
    hget key field : 获取存储在hash中的值,根据field得到value。
    hmget key field [field1…] : 获取key给定所有field字段的值。
    hgetall key : 返回hash表中该key存储所有的字段和值。
  • 删除语法
    hdel key field1 [field2] : 删除一个或多个hash表字段。
  • 其他语法
    hsetnx key field value : 只有字段field不存在时,设置哈希表字段的值。
    hincrby key field increment : 为哈希表key中指定的字段的整数增加上增量increment。
    hincrbyfloat key field increment : 为哈希表key中指定的字段的浮点数增加上增量increment。
    hexists key field : 查看hash表key中指定的字段是否存在。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!