Redis教程

redis的五种基本数据类型以及基本操作

本文主要是介绍redis的五种基本数据类型以及基本操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

redis支持5种数据类型:【字符串:String】、【散列(哈希):Hash】、【列表:List】、【集合:Set】、【有序集合:SortedSet(zset)】,下面分别介绍5中数据类型的常用命令以及应用场景。

1、String类型

(01)赋值:set key value

(02)取值:get key

(03)先获取旧值、再设置新值:getset key value

(04)多个赋值:mset key1 value1 key2 value2 key3 value3 …

(05)多个取值:mget key1 key2 key3 …

(06)删除key:del key

(07)使值递增1:incr

(08)使值递增n:incrby key n

(09)使值递减1:decr

(10)使值递减n:decrby key n

(11)使值尾部追加:append key value

(12)获取值的长度:strlen key

应用场景:分布式数据库利用自增做主键,第一可以防止主键重复,第二也可以规定某个数据库的id范围,从第几开始。

2、Hash类型

(01)赋值:hset key field value

(02)取值:hget key field

(03)多个字段赋值:hmset key field1 value1 field2 value2 field3 value3 …

(04)多个字段取值:hmget key field1 field2 field3 …

(05)存在则修改、不存在则插入:hsetnx key field value

(06)获取key的所有字段:hgetall key

(07)删除key的某个字段:hdel key field

(08)使key某个字段的值递增n:hincrby key field n

(09)判断key的某个字段是否存在:hexists key field

(10)获取某个key的所有字段名:hkeys key

(11)获取某个key的所有字段值:hvals key

(12)删除key:del key

应用场景:设置商品信息,假如用String类型保存商品信息,修改的话要解析json、修改后再封装json保存。但是Hash类型则可以根据key的字段修改值。

3、List类型 (redis中使用的双向链表)

(01)向左端增加元素:lpush key value1 value2 value3 …

(02)向右端增加元素:rpush key value1 value2 value3 …

(03)查看下标在startindex 和 stopindex之间的元素:lrange key startindex stopindex,stopindex = -1 代表右边全部的

(04)从左边返回并删除元素:lpop key

(05)从右边返回并删除元素:rpop key

(06)获取列表中元素的个数:llen key

(07)根据值删除元素:lrem key count value(删除前count个值为value的元素)count>0从左边开始删,count<0右边开始,count=0删除全部。

(08)根据下标值查找元素:lindex key index

(09)给指定的下标设置元素值:lset key index value

(10)根据下标保留指定元素,删除其余的:ltrim key startindex stopindex

(11)从左向右查找,在指定元素的左(before)右(after)插入元素:linsert key before|after findValue targetValue。

(12)将元素从一个列表转移到另一个列表:rpoplpush fromkey tokey(又端弹出,左端压入)

应用场景:存放商品的评论列表,key是商品编号,value是商品评论的json串,一个商品可以有好多评论。

4、Set类型

(01)添加元素:sadd key value1 value2 value3 value4 …

(02)删除元素:srem key value1 value2 value3 value4 …

(03)获取集合中所有元素:smembers key

(04)判断元素是否在集合中:sismember key value

(05)获取集合差集(属于A,不属于B的元素):sdiff keyA keyB

(06)获取集合交集(属于A,也属于B的元素):sinter keyA keyB

(07)获取集合并集(属于A、B中的全部元素):sunion keyA keyB

(08)获取集合中元素的个数:scard key

(09)从集合中随机弹出一个元素:spop key

应用场景:根据集合与列表的区别,要求无序、不重复的可以用集合。

5、SortedSet(zset)类型

有序集合是在集合的基础上每个元素关联了一个分数,可以提供与分数有关的操作,如获取分数最高、最低的前n个元素,根据分数范围获取元素等。

(01)添加元素:zadd key score value score2 value2 score3 value3 …(如果元素存在,会用新分数替换旧分数)

(02)获取指定元素的分数:zscore key value

(03)删除指定元素:zrem key value

(04)按照分数从小到大,返回下标范围之间的元素:zrange key startindex stopindex

(05)按照分数从大到小,返回下标范围之间的元素:zrevrange key startindex stopindex

(06)按照分数从小到大,返回下标范围之间的元素,并获取分数:zrange key startindex stopindex withscores

(07)按照分数从大到小,返回下标范围之间的元素,并获取分数:zrevrange key startindex stopindex withscores

(08)获取指定分数范围的元素:zrangebyscore key minScore maxScore [withscores]

(09)获取指定分数范围的元素,从第offset个开始,总共取count个:zrangebyscore key minScore maxScore limit offset count [withscores]

(10)增加某个元素的分数:zincrby key addScore value(给value增加addScore分)

(11)获得集合中元素的数量:zcard key

(12)获得指定分数范围为元素数量:zcount key minScore maxScore

(13)按照排名范围删除元素:zremrangebyrank key startIndex stopIndex

(14)按照分数范围删除元素:zremrangebyscore key minScore maxScore

(15)从小到大获取元素的排名:zrank key value

(16)从大到小获取元素的排名:zrevrank key value
转载地址:https://www.cnblogs.com/javasl/p/12099041.html

这篇关于redis的五种基本数据类型以及基本操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!