Redis的五大数据类型:
String(字符串):
String 是Redis最基本的数据类型,一个key对应一个value。String 类型是二进制安全的,可以包含任何数据。比如jpg图片或者序列化对象。字符串的value最多可以是512M。
Hash(哈希):
Hash 是一个键值对集合,是String类型的field和value的映射表,特别适合存储对象。类似于java中的Map<String, Object>。
List(列表):
List 是一个简单的字符串列表,按照插入的顺序排列。可以添加一个元素到列表的头部(左边)或者尾部(右边)。它的底层实际是一个链表。
Set(集合):
Set是String类型元素的无序集合。他是通过HashTable实现的。
ZSet(有序集合):
ZSet 和 Set 一样也是String类型元素的集合,且不允许重复的元素。不同的是每一个元素都会关联一个double类型的分数。Redis正是通过分数来为集合中的元素进行从小到大的排序。注意:ZSet 中元素是唯一的,但分数却可以重复。
Redis常见的操作命令:
redis默认有16个数据库,类似数组下标从0开始,初始默认使用0号库。
select [number]:切换数据库,例: select 7, 切换到8号库。
dbsize:查看当前数据的key的数量。
flushdb:清空当前数据库。
flushall:清空全部数据库。
数据类型常见操作命令:
redis键(key):
- keys *:数据库中存在key的数量。常用语法:keys *, keys [string],keys [string]?,keys [string]* 等。
- exists [key]:判断key是否存在。
- move [key] [db]:将key值移动到另外db。
- expire [key]:为key设置过期时间。
- ttl [key]:查看key还有多少时间过期,-1表示永不过期,-2表示已过期。
- type [key]:查看key的类型。
Redis字符串(String):
- set/get/del/append/strlen:设置/获取/删除/增加/长度。
- incr/decr/incrby/decrby:加1/减1/加?/键?。
- getrange/setrange:范围获取/范围设置。
- setex/sexnx:SETEX key seconds value 将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。如果 key 已经存在, SETEX 命令将覆写旧值/SETNX key value key 的值设为 value ,当且仅当 key 不存在。
- mset/mget/msetnx:MSET key value [key value ...]同时设置一个或多个 key-value 对/MGET key [key ...]返回所有(一个或多个)给定 key 的值/MSETNX key value [key value ...]同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
- getset:GETSET key value 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。当 key 存在但不是字符串类型时,返回一个错误。
未完待续。。。。。