一点说明:Redis的数据存储都是K-V的形式,我们讨论的数据类型是指V的数据类型,K的类型都是为String。
Redis的五种数据类型:字符串(String)、列表(List)、集合(Set)、哈希(Hash)、有序集合(Zset)。
1、字符串(String)
- set/get示例:
- del 示例:
- append示例:
- strlen示例:
2、列表(List)
- lpush/rpush/lrange: lpush是从左边开始插入的,rpush是从右边插入的,lrange是输出某个list索引从开始到结尾的数据,结尾为-1表示从开始索引到末尾所有的数据。
- lpop/rpop: lpop是从左边弹出一个元素,rpop是从右边弹出一个元素。
- lindex:通过索引获得元素,相当于Java中ArrayList调用get()
- llen:计算数组长度
- lrem key 删N个value
- ltrim key 开始index 结束index,截取指定范围的值后再赋值给key
- rpoplpush 源列表 目的列表 : 从右边弹出源列表的一个元素然后将它插入到目标列表的左边
- lset key index value
- linsert key before/after 值1 值2
值1存在多个值时默认会在第一次出现的地方前后进行插入
3、集合(Set)
集合Set的特性和Java中的set是一样的,也是不允许有重复的元素,也是无序的
- sadd/smembers/sismember : sismember 判断某元素是否是某集合的元素,是返回1,不是返回0
- scard: 获取集合里面的元素个数
- srem key value 删除集合中元素
- srandmember key 某个整数(随机出几个数)
- spop key [count] : 随机出栈count个元素,默认为1
- smove key1 key2 在key1里某个值 : 作用是将key1里的某个值赋给key2
- 数学集合类(差集:sdiff,交集:sinter,并集:sunion)
4、哈希(Hash)
- hset/hget/hmset/hmget/hgetall/hdel
- hlen
- hexists key 在key里面的某个值的key
- hkeys/hvals
- hincrby/hincrbyfloat
- hsetnx
5、有序集合(Zset)
- zadd/zrange
- zrangebyscore key 开始score 结束score
- zrem key 某score下对应的value值,作用是删除元素
- zcard/zcount key score区间/zrank key values值,作用是获得下标值/zscore key 对应值,获得分数
- zrevrank key values值,作用是逆序获得下标值
- zrevrange
- zrevrangebyscore key 结束score 开始score