高州市网站建设,成都建设网站企业电话,文字云网站,软件定制开发公司的商业模式Redis五大数据类型 文章目录 Redis五大数据类型key字符串string操作命令列表list集合set哈希hash有序集合zset (sorted set) key
keys * 查看当前库的所有键exists key 判断某个键是否存在type key 查看键的类型del key 删除某个键expire key…Redis五大数据类型 文章目录 Redis五大数据类型key字符串string操作命令列表list集合set哈希hash有序集合zset (sorted set) key
keys * 查看当前库的所有键exists key 判断某个键是否存在type key 查看键的类型del key 删除某个键expire key seconds 为键值设置过期时间单位秒ttl key 查看还有多久过期,-1表示永不过期,-2表示已过期dbsize 查看当前数据库中key的数量flushdb 清空当前库Flushall 通杀全部库
字符串string操作命令
String类型也就是字符串类型是Redis中最简单的存储类型
其value是字符串不过根据字符串的格式不同又可以分为3类
string普通字符串int整数类型可以做自增、自减的操作float浮点类型可以做自增、自减操作
具体操作
set key value 设置指定的值get key 获取指定的值append key value将给定的追加到原值的末尾strlen key获取值的长度setnx key value 只有在key不存在时设置key的值incr key将key中存储的数字值增1 只能对数字值操作如果为空新增值为1decr key将key中存储的数字值减1 只能对数字之操作如果为空,新增值为-1incrby /decrby key 步长将key中存储的数字值增减自定义步长mset key1 value1 key2 value2同时设置一个或多个key-value对(一个key-value设置失败都失败)mget key1 key2 key3同时获取一个或多个valuemsetnx key1 value1 key2 value2同时设置一个或多个key-value对当且仅当所有给定的key都不存在getrange key 起始位置 结束位置获得值的范围(两边都是闭区间)setrange key 起始位置 value用覆盖所存储的字符串值从起始位置开始setex key 过期时间 value设置键值的同时设置过期时间单位秒getset key value以新换旧,设置了新值的同时获取旧值 更多请查看手册Redis 字符串(String)_redis教程 列表list
1)单键多值 2)Redis 列表是简单的字符串列表按照插入顺序排序。你可以添加一个元素导列表的头部左边或者尾部右边。 3)它的底层实际是个双向链表对两端的操作性能很高通过索引下标的操作中间的节点性能会较差 具体操作
lpush/rpush key value1 value2从左边/右边插入一个或多个值lpop/rpop key从左边/右边吐出一个值。若吐完了则key自动删除rpoplpush key1 key2 从列表右边吐出一个值插到列表左边(只有右出左进)lrange key start stop按照索引下标获得元素(从左到右) 获得全部元素lrange key 0 -1llen key获得列表长度linsert key before value newvalue在value的前面插入newvaluelrem key n value从左边删除n个value(从左到右)
集合set
1)Redis set对外提供的功能与list类似是一个列表的功能特殊之处在于set是可以自动排重的当你需要存储一个列表数据又不希望出现重复数据时set是一个很好的选择并且set提供了判断某个成员是否在一个set集合内的重要接口这个也是list所不能提供的 2)Redis的Set是string类型的无序集合。它底层其实是一个value为null的hash表,所以添加删除查找的复杂度都是O(1)。
sadd key value1 value2 .... 将一个或多个 member 元素加入到集合key 当中已经存在于集合的 member 元素将被忽略。smembers key 取出该集合的所有值。sismember key value判断集合是否为含有该值有返回true没有返回falsescard key返回该集合的元素个数srem key value1 value2 ....删除集合中的某个元素value1,value2。spop key 随机从该集合中吐出一个值srandmember key n 随机从该集合中取出n个值。(会从集合中删除并且集合元素为空集合自动删除) 不会从集合中删除sinter key1 key2 返回两个集合的交集元素sunion key1 key2 返回两个集合的并集元素sdiff key1 key2 返回两个集合的差集元素
哈希hash
hset key field value 给key集合中的 field键赋值valuehget key1 field 从key1集合field取出 valuehmset key1 field1 value1 field2 value2... 批量设置hash的值hgetal keyl获取所有的filed-valuehexists key field查看哈希表 key 中给定域 field 是否存在。hkeys key 列出该hash集合的所有fieldhvals key 列出该hash集合的所有valuehincrby key field increment为哈希表 key 中的域 field 的值加上增量 incrementhsetnx key field value将哈希表 key 中的域 field 的值设置为 value 当且仅当域 field 不存在
有序集合zset (sorted set)
zadd key score1 member[score2 member2] 向有序集合中添加一个或多个成员或者更新已存在的成员分数(注意是分数在前成员在后)zrange key start stop [WITHSCORES] 通过索引区间返回有序集合中指定区间的成员【0-1】查看所有, 加上withscores后返回值会带上分数zincrny key increment member 有序集合中对指定成员的分数上加上增量incrementzrem key member [member ...] 移除有序集合中一个或多个成员zrangebyscore key min max [withscores] [limit offset count] 返回有序集 key 中所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。有序集成员按 score 值递增(从小到大)次序排列。zrevrangebyscore key max min [withscores] [limit offset count]同上改为从大到小排列。(注意是先max 后min)zrank key member: 获取sorted set中元素的排名,默认都是升序如果要降序则在命令的Z后面添加REV即可zcount key min max 统计该集合分数区间内的元素个数