洛浦县网站建设,相册插件wordpress,做网站有什么关于财务的问题,电子采购系统目录
redis存储数据的模式
常用基本命令
一、set
二、keys pattern
keys 字符串当中携带问号
keys 字符串当中携带*号
keys 【^字母】
keys *
三、exists
四、del
五、expire
5.1 ttl命令
5.2key删除策略
5.2.1惰性删除
5.2.2定期删除
六、type
key的数据类型…目录
redis存储数据的模式
常用基本命令
一、set
二、keys pattern
keys 字符串当中携带问号
keys 字符串当中携带*号
keys 【^字母】
keys *
三、exists
四、del
五、expire
5.1 ttl命令
5.2key删除策略
5.2.1惰性删除
5.2.2定期删除
六、type
key的数据类型
string
incr自增1仅限数字类型
incrby key 一个具体的数量
decr key
incrbyfloat key 一个值
append
getrange key start end
setrange key start替换的字符串
strlen key
hash
hset key file1 value1
hget key file1
hexists key file1
hdel key file1
hkeys key
list
lpush
lrange
rpush
lpop
lindex
llen key
set
Set的常见操作
SADD命令
SMEMBERS 命令
SISMEMBER 命令
SPOP命令
SRANDMEMBER命令
SMOVE 命令
SREM 命令
zset
一、zset数据类型概述
二、zset的常见操作 redis存储数据的模式
一般情况下都是以 key value的模式进行存储的。
这种存储的结构类似于哈希表HashMap;
但是redis不同于哈希表的地方在于
redis的key只可以是string类型value可以是其他数据结构。
而HashMap的key和value都可以是任意的数据结构。
对于value的类型有字符串哈希表列表集合有序集合等数据结构的类型
而操作这些不同的数据结构就会用到不同的命令。 常用基本命令
一、set
用法set 【key】 【value】
在这里面key和value都是字符串由用户手动输入key和value的值 当敲回车之后提示OK说明已经设置成功了 二、keys pattern
pattern为包含特殊符号的字符串
keys 字符串当中携带问号
例如keys h?llo
只能匹配一个字符因此返回的字符可能是hello/hallo等就是问好只能占据一个字符 keys 字符串当中携带*号
例如当输入keys h*llo的时候
返回的内容可能是heeeeellohabcdllo也是就*可以代替若干个字母 keys 【^字母】
这种情况是为了排除某个字母设置的。 keys *
查询当前服务器上面的所有key 三、exists
判定key是否存在
用法exists key的名称返回key存在的个数
假如一个key hello存在那么 exists hello就会返回1.
假如一个key hello,hallo存在那么 exists hellohallo 就会返回2. 四、del
删除某个key.
del key的名称删除某一个key删除成功返回1
del key1 key2删除key1和key2删除成功返回2 五、expire
expire的作用是给指定的key设定过期时间key超出了指定的时间就会自动失效..
expire key seconds设置成功返回1设置失败返回0.
seconds为key有时效的秒数.
5.1 ttl命令
这个命令是为了判断一个key的剩余过期时间是多少
ttlkey返回某个key的剩余过期时间
如果返回-1说明没有设置过期时间
如果返回-2说明已经过期
5.2key删除策略
5.2.1惰性删除
key的过期时间到了但是还没有删除,key还存在当最后一次访问这个key的时候发现已经过期了就删除
5.2.2定期删除
定期删除策略并不一定是在一定时间内删除所有的key而是每次抽取一部分的key进行过期时间验证也就是类似于一个抽查的过程因为redis是单线程的程序因此不太好一次遍历所有的key否则容易造成宕机。 六、type
typekey的类型返回当前的key的数据类型是什么 key的数据类型
string
set key value ex key有效的时间设置某个key有效时间为10秒
set key1 vlaue1 NX某个key1不存在才设置如果存在就返回nil
set key2 value2 XX 某个key2存在才设置存在则设置失败
get key3只支持字符串类型的value incr自增1仅限数字类型
令某一个key增加1
set key 10
incr key
get key:返回11
incr操作的key如果不存在那么就当作自增1来表示。 incrby key 一个具体的数量
对于某一个key的value增加10. decr key
针对某一个数值的key执行-1操作. incrbyfloat key 一个值
对于某一个key自增对应的一个值 append
set key hello;
append key world; key变成了hello world getrange key start end
getrange helloworld 0-1
含义截取这个字符串的从左边开始的第一个元素到从右边开始的第一个元素之间的字符串
返回helloworld; getrange helloworld 1-2
含义截取这个字符串的从左边开始的第二个元素到从右边开始的第二个元素之间的字符串
返回内容elloworl setrange key start替换的字符串
setrange helloworld 1 aaa
含义就是从左往右的1号元素开始也就是从字母e开始往后替换三个字符为aaa.
haaaoworld strlen key
返回的是key的长度包含的字符长度 hash 每一个hash类型的key都是按照这样的结构存储的在上图当中key的名称是name1
在这个key下面有好几个键值对key-value hset key file1 value1
对于key设置file1value1
hget key file1
对于key获取到file1的value是多少
hexists key file1
对于key判断其中的file1属性是否存在
hdel key file1
删除的是key当中的file1
hkeys key
获取到key当中的所有hash的键 list
lpush
lpush key 1 2 3 4含义是使用头插法插入1 2 3 4因此执行完之后在这个key当中元素的顺序是 4321
lrange
lrange key start end
这一个命令相当于对于key做了一个截取操作start的位置为从左往右的元素下表end的位置为从从右往左的第一个元素下标 rpush
rpush key 1 2 3 4
这样相当于尾插这个时候key当中的元素存储顺序为1 2 3 4
lpop
从list左侧取出元素相当于头删
lindex
lindex key返回的是下标对应的元素如果一个list当中存在下面的元素
12345678
那么 lindex key 3返回的就是元素4负数同理从右往左计算索引。
llen key
返回key当中的list个数。 set
类似于JAVA当中的hashset数据结构元素是无序的并且不可以重复
Set的常见操作
二.SET命令 集合的元素代表 member
SADD命令 往集合当中添加元素,返回添加成功的元素个数。
语法 SADD key member [member,member,...]
SMEMBERS 命令 展示集合当中元素
语法 SMEMBERS key
SISMEMBER 命令 判断一个元素在不在set当中
语法SISMEMBER key member
SPOP命令 一般表示从末尾删除元素但由于set集合是无序的此处是随机删除COUNT 个元素。
语法pop key [count]
SRANDMEMBER命令 随机获取集合当中的count个元素。
语法srandmember key [count]
SMOVE 命令 将一个元素从源setsource)取出并且放入目标的set集合(destination)
语法SMOVE SOURCE DESTINATION MEMBER
SREM 命令 将集合set删除元素一次删除多个个member
语法srem key member [member ...]
集合之间的操作交、并、差集
交集命令SINTER key [key,key,...] 或者 SINTERSTORE DESTINATION key [key,key,...] 把结果放在DESTINATION当中。
并集命令SUNION key [key ,...] 或者 SUNIONSTORE DESTINATION key [key,key,...] 把结果放在DESTINATION当中。
差集命令SDIFF key [key ,...] 或者 SDIFFSTORE DESTINATION key [key,key,...] 把结果放在DESTINATION当中。 zset
Redis的zset数据类型即有序集合Sorted Set是一种非常特别且有用的数据结构。以下是对zset数据类型的详细介绍及其常见操作的归纳
一、zset数据类型概述 特性 zset是Redis中字符串类型元素的集合且集合中的成员是唯一的不允许重复。每个成员都会关联一个double类型的分数score这个分数用于对集合中的成员进行排序。分数可以重复。集合中的成员会根据分数从小到大进行排序如果分数相同则按照字典顺序排序。 底层实现 在Redis的早期版本中zset的底层数据结构可以是压缩列表zipList或跳表skipList。当有序集合的元素个数小于一定数量如128个且每个元素的值小于一定字节数如64字节时Redis会使用压缩列表作为底层数据结构。当不满足上述条件时Redis会使用跳表作为底层数据结构。在Redis 7.0及更高版本中压缩列表数据结构已经被废弃改由listpack数据结构实现。
二、zset的常见操作 添加元素 使用ZADD命令向zset中添加一个或多个元素并指定它们的分数。语法ZADD key score1 member1 [score2 member2 ...] 获取元素 使用ZRANGE命令获取zset中指定排名范围内的元素可以选择是否同时返回分数。语法ZRANGE key start stop [WITHSCORES]类似地ZREVRANGE命令可以获取zset中指定排名范围内的元素但按分数从高到低排序。 获取元素数量 使用ZCARD命令获取zset中元素的数量。语法ZCARD key 获取元素排名 使用ZRANK命令获取元素在zset中的排名从0开始按分数从小到大排序。语法ZRANK key member类似地ZREVRANK命令可以获取元素在zset中的排名但按分数从高到低排序。 获取元素分数 使用ZSCORE命令获取元素的分数。语法ZSCORE key member 删除元素 使用ZREM命令从zset中删除一个或多个元素。语法ZREM key member [member ...] 为元素分数增加增量 使用ZINCRBY命令为元素的分数加上指定的增量。语法ZINCRBY key increment member 按分数范围获取元素 使用ZRANGEBYSCORE命令获取zset中分数在指定范围内的元素可以选择是否同时返回分数。语法ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]类似地ZREVRANGEBYSCORE命令可以获取zset中分数在指定范围内的元素但按分数从高到低排序。 按分数范围删除元素 使用ZREMRANGEBYSCORE命令删除zset中分数在指定范围内的元素。语法ZREMRANGEBYSCORE key min max 按排名范围删除元素 使用ZREMRANGEBYRANK命令删除zset中指定排名范围内的元素。语法ZREMRANGEBYRANK key start stop 交集和并集操作 使用ZINTERSTORE命令计算多个zset的交集并将结果存储在新的zset中。可以指定每个zset的权重和聚合方式。语法ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE sum|min|max]使用ZUNIONSTORE命令计算多个zset的并集并将结果存储在新的zset中。同样可以指定权重和聚合方式。