从今天起,推出跟炒鸡辣鸡一起学redis系列博客,旨在和广大朋友一起学习redis。
现如今,有关redis的书挺多的,如果需要系统性的学习redis,炒鸡辣鸡还是建议大家通过看书的方式,系统性的去学习redis。
Redis的键值数据类型和相关的命令
字符串类型
一个字符串类型键允许存储的数据的最大容量是512MB,通常使用对象类型:对象ID:对象属性”来命名一个键,对于多个单词则推荐使用“.”分隔,对象类型(复数形式):count的键(如users:count)来存储当前类型对象的数量。可以将对象进行序列化后存入redis的字符串类型中,MessagePack和JSON一样可以将对象序列化成字符串,但其性能更高,序列化后的结果占用空间更小,序列化后的结果是二进制格式。
INCRBY key increment 对数值key+指定的数值,整形
INCR key 对数值key+1
DECR key
DECRBY key decrement
INCRBYFLOAT key increment +指定浮点数
APPEND key value 向尾部增加值
同时获得/设置多个键值
MGET key [key …]
MSET key value [key value …]
位操作
GETBIT key offset
SETBIT key offset value
BITCOUNT key [start] [end]
BITOP operation destkey key [key …]
散列类型
散列类型不能嵌套其他的数据类型
散列类型适合存储对象:使用对象类别和ID构成键名,使用字段表示对象的属性,而字段值则存储属性值
HSET key field value
HGET key field
HMSET key field value [field value …]
HMGET key field [field …]
HGETALL key
HSET命令的方便之处在于不区分插入和更新操作,这意味着修改数据时不用事先判断字段是否存在来决定要执行的是插入操作(update)还是更新操作(insert)。
列表类型
列表类型(list)可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段
LPUSH key value [value …]
RPUSH key value [value …]
LPOP key:第一步是将列表左边的元素从列表中移除,第二步是返回被移除的元素值
RPOP key
获得列表片段:LRANGE key start stop:LRANGE返回的值包含最右边的元素
删除列表中指定的值:LREM key count value
集合类型
有序集合类型
redis事务
事务的原理是先将属于一个事务的命令发送给Redis,然后再让Redis依次执行这些命令
用MULTII命令告诉Redis:“下面我发给你的命令属于同一个事务,你先不要执行,而是把它们暂时存起来
使用EXEC命令告诉Redis将等待执行的事务队列中的所有命令按照发送顺序依次执行