redis学习笔记(2)—— redis常用数据类型与常用命令
1.redis常用数据类型
-
String——字符串
String 数据结构时简单的key-value 类型,value不仅可以是String,也可以是数字(当数字类型用 Long 可 以表示的时候 encoding 就是整型,其他都存储在 sdshdr 当做字符串); 在list、set和zset中包含的独立的元素类型都是Redis String类型; String类型的数据最大512MB。 -
Hash——字典
hash 是最接近关系数据库结构的数据类型,可以将数据库一条记录或程序中的一个对象转换成hashmap存在redis中;在Memcached中,我们经常将一些结构化的信息打包成hashmap,在客户端序列化后存储为一个字符串的值(一般为JSON格式),比如用户的昵称、年龄、性别、积分等。 -
List——列表
List说白了就是链表(redis中使用双端链表实现的List);链表类型,主要功能是push、pop、获取一个范围的所有值等。其中key可以理解为链表的名字;在redis中,list就是redis string 的列表,按照插入顺序排序。比如使用LPUSH命令在list头插入一个元素,使用RPUSH命令在list的尾插入一个元素。当这两个命令之一作用于一个空的key时,一个新的list就创建出来了 ; List的最大长度是2^32-1个元素。 -
Set——集合
Set 就是一个集合,集合的概念就是一堆不重复值的组合。利用 Redis 提供的 Set 数据结构,可以存储一些集合性的数据。 在Redis中,set就是Redis String的无序集合,不允许有重复元素; Set的最大元素数是2^32-1。; Redis中对set的操作还有交集、并集、差集等。 -
ZSet(Sorted Set)——有序集合
和 Sets 相比,Sorted Sets 是将 Set 中的元素增加了一个权重参数 score,使得集合中的元素能够按 score 进 行有序排列 , 对于已经有序的zset,仍然可以使用SORT命令,通过指定ASC|DESC参数对其进行排序; Zset的最大元素数是2^32-1 ; 应用:带有权重的元素,比如一个游戏的用户得分排行榜
2.redis常用命令
基本常用命令
- del key (删除key)
- exists key (检查key 是否存在)
- expire key seconds(给key 设置过期时间,以秒为单位)
- pexpire key milliseconds(给key 设置过期时间,以毫秒为单位)
- keys pattern(查找所有符合给定模式的key——例:查找所有键 keys *)
- move key db(将当前数据库的key移动到给定的数据库db当中)
- persist key (移除key的过期时间,key将保持永久)
- ttl key (以秒为单位返回给定key的剩余生存时间,-1为保持永久)
- type key (返回key所存储的值的类型)
String类型常用命令
- set key value (设置键为key,值为value的String类型键值对)
- get key (获得键为key所对应的值)
- setex key seconds value (设置key-value键值对,并指定过期时间为seconds秒,注意是以秒为单位)
- getrange key startIndex endIndx (获得键为key所对应的值的子字符串,从starIndex到endIndex位置的值,index从0开始)
- ttl key (查看剩余的生存时间)
- getset key value (将key的值设置成value,并返回旧的value)
- mget key1 key2 … (一次获取多个key的值)
- mset key1 value1 key2 value2 …(一次设置多个key-value对)
- setnx key value (在key不存在时,设置key的值)
- strlen key (返回key所存储的字符串长度)
- incr key (将key对应的数字值增1)
- incrby key increment (将key对应的数字加上increment)
- decr key (将key对应的数字减1)
- decrby key decrement(将key对应的数字减去decrement)
- append key value(如果key已经存在并且是一个字符串,将value追加到原来值的末端)
3.手动高亮tip
常用命令较多,我回根据不同的数据类型来写常用命令,常用命令将分为三次来写,请关注后续发布哦。哈哈哈,主要还是懒,一次不想写太多。如有问题可以私信留言。附上今天看到的一句比较美的句子送给大伙。
风停在了窗边,嘱咐我要热爱这个世界。