redis 学习之五大类型

前端之家收集整理的这篇文章主要介绍了redis 学习之五大类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<table class="text"><tr class="li1">
<td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237

select 1   KEYS pattern ? 匹配一个字符 * 匹配任何字符包括0 [ ]匹配括号间的任何一个字符,可以使用“-”表示一个范围,入a【b-d】可以配“ab”、“ac”、“ad” \x 匹配字符x,用于转义字符,如果匹配“?” 就要使用\? 注意:keys 命令需要遍历redis中的所有键,当健的数量较多的时候会影响性能   exists key 判断一个键是否存在 返回1 0   del key[ ] 可以删除一个或多个键、返回删除的键的个数 注:不支持通配符,但我们可以结合liunx的管道和xargs命令自己实现删除所有符合跪着的键 比如“user:”可以执行 redis-cli keys "user:*" | xargs redis-cli del,或者 redis-cli del ‘redis-cli keys "user:"' 使用redis-cli 需要配置   reids对于键的命名没有强制要求,比较好的是实践是用 对象类型:对象Id对象:对象属性   增加指定的整数 incrby key increment   减少指定的整数 decr key decrby key decrment   增加制定浮点数 incrbyfloat key incrment   向尾部追加值,返回字符串长度 append key value   获取字符串长度 strlen key   同时获取/设置多个键值 mset key [key ..] mget key value []   位操作 gitbit key offset setbit key offset value bitcount key [start] [end] bitop operation destkey key [key ....]   散列类型 赋值和取值 hset key field value //执行insert时候返回1 执行update时候返回0 hget key field hmset key field value 【field value】 hmget key field[field] hgetall key   判断字段知否存在 hexists key field 1存在 0不存在   增加数字 hincrby key field incrment   删除字段,可以删除一个或者多个字段 hdel key field   只获取字段名或者字段值 hkeys key hvals key   获得字段数量 hlen key     //列表类型 队列/栈 向列表2端增加元素 lpush key value [value] //想列表左边添加元素,返回值表示增加元素列表的长度 desc rpush key value [value] asc   从列表2端弹出元素 lpop key rpop key   获取列表中元素的个数 llen key 不存在的时候返回0   活的列表片段 lrange key start stop lrange key 0 -1 获取全部的元素 支持负索引,表示从右边开始计算序数   删除列表中的指定的值 lrem key count value count >0 命令会从列表左边开始删除钱count个值为value的元素 count <0 命令会从右边开始删除前count个值为value的元素 count =0 会删除所有值为value的元素 注释:因为list是用链表实现的。当列表元素非常多的时访问中间的元素效率并不高   获得/设置指定索引的元素值 lindex key index lset key index value   只保留列表指定片段 ltrim key start end 可以删除指定索引范围之外的所有元素,其指定列表范围的方法和lrange命令相同 和lpush命令一起使用来限制列表中元素的数量   向列表中插入元素 linsert key before|after pivot value   将元素从一个列表转到另一个列表 rpoplpush source detination 整个过程是原子的 当source 和detination相同的时候,命令会不断的将队尾元素一道队首,借助这个特性我们可以实现一个网站监控系统,     集合类型 增加/删除元素 sadd key member[member] srem key member[member]   获取集合中的所有元素 smembers key   判断元素是否在结合中 sismember key member   集合间运算 sdiff key[key] //用来对多个集合执行差集运算 支持传入多个健 计算顺序是先计算a 与 b 在计算结果与c的差集 sinter key[key]//用来对多个集合执行交集运算 sunion key[key]//用来对多个集合执行并集运算   获取集合中的元素个数 scard key   进行合集运算并将结果存储 //和sdiff命令功能一样,区别是牵着不会直接返回结果,而是将结果存储在destination健中 常用于需要进行多步集合运算的场景中,如需要先计算差集再将结果和其他键计算交集 sdiffstore destination key[key] sinterstore destination key[key] sunionstore destination key[key]   随机获取集合中的元素 srandmember key[count] 可以传递count来一次行随机获取多个元素,根据count的正负不同,具体表现也不同 count > 0 随机从集合中活的count个不重复的元素 count < 0 随机从集合中活的count个的元素,这些元素有可能相同   从集合中弹出一个元素 spop key 随机从集合中随机选择一个元素弹出     有序集合 有序集合类型是使用散列表和跳跃表实现的,所以即使读取位于中间部分的数据速度也很快 列表中不能简单的调整某个元素的位置,但是有序集合可以(通过更改这个元素的分数) 有序集合要比列表类型更耗费内存   增加元素 zadd key score member[score member]   获取元素的分数 zscore key member   活的排名在某个范围的元素列表 zrange key start stop [withscores] //命令会按照元素分数从小的到大的顺序返回索引从start到stop之间的所有元素(包括2端) 如果要获取元素的分数的话可以在zrange命令的尾部加上withscores参数 zrevrange key start stop [withscores] //与zrange唯一不同在于按照元素分数从大到校的顺序给出结果的   获得指定分数范围内的元素 zrangebyscore key min max[withscores][limit offset count] 按照元素分数从小到大的顺序返回分数在min和max之间的元素 如果希望分数范围不包含端点值,可以在分数前加上 “(”符号 -inf +inf 表示负无穷 正无穷 limit offset count跟sql中的用法基本相同,即在活的元素列表的基础上向后偏移offset个元素,并且只获取欠count个元素   增加某个元素的分数 zincrby key increment member 命令可以增加一个元素的分数,返回值是更改后的分数   获取结合中元素的数量 zcartd key   获得指定分数范围内的元素个数 zcount key min max   删除一个或者多个元素 zrem key member【member】   按照排名范围删除元素 zremrangebyrank key start stop 命令按照元素分数从小到大的顺序(0表示最小值)删除处在指定排名范围内的所有元素,并返回删除的元素数量   按照分数分数范围删除元素 zremrangebyscore key min max   获得元素的排名 zrank key member 从小到大(从0开始) zrevrank key member 从大到小   计算有序集合的交集 zinterstore destination numkeys key[keys ..] [weights weight [weight]] [aggregate sum|min|max]                        

猜你在找的程序笔记相关文章