标签:127.0 6379 0.1 元素 redis value 命令 key 大全
1、connection
redis-cli默认连接127.0.0.1:6379
redis-cli -h 127.0.0.1 -p 6379
auth password
select index
2、keys
del key1 key2 ...
exists key1 key2 ...
rename key newkey
renamenx key newkey
keys pattern
支持glob风格通配符规则。
符号 | 含义 |
? | 匹配一个字符 |
* | 匹配任意个(包括0个)字符 |
[] | 匹配中括号间的任一字符,可以使用-符号表示一个范围,如a[b-d]可以匹配ab、ac和ad |
\x | 匹配字符x,用于转义字符,如要匹配?就需要使用\? |
object encoding key #查看对象编码
type key #获取key的类型
3、server
slowlog #慢查询日志(不包括IO操作,只针对命令执行时间)
shutdown save|nosave
这个命令执行如下操作:
- 停止所有客户端;
- 如果配置了save 策略 则执行一个阻塞的save命令;
- 如果开启了AOF,则刷新aof文件;
- 关闭redis服务进程(redis-server);
如果配置了持久化策略,那么这个命令将能够保证在关闭redis服务进程的时候数据不会丢失,如果仅仅在客户端执行SAVE 命令,然后 执行quit命令,那么数据的完整性将不会被保证,因为其他客户端可能在执行这两个命令的期间修改数据库的数据。
注意: 一个没有配置持久化策略的redis实例 (没有aof配置, 没有 “save” 命令) 将不会 在执行shutdown命令的时候转存一个rdb文件
SAVE 和 NOSAVE 修饰符
- SHUTDOWN SAVE #能够在即使没有配置持久化的情况下强制数据库存储;
- SHUTDOWN NOSAVE #能够在配置一个或者多个持久化策略的情况下阻止数据库存储;
MEMORY USAGE #返回一个key和它值在RAM中占用的字节数,实际数据为空,但是存储时仍然耗费了一些内存,这些内存用于Redis 服务器维护内部数据结构。随着key和value的增大,内存使用量和key 大小基本成线性关系。
MEMORY STATS #将服务器的内存使用情况以数组情况返回
flushdb
flushall async
dbsize
command count #redis命令总数
client getname
client setname
client list
client id
4、string
append key value 追加
getrange key start end 随机访问
127.0.0.1:6379> append score 10
(integer) 2
127.0.0.1:6379> append score 35
(integer) 4
127.0.0.1:6379> append score 45
(integer) 6
127.0.0.1:6379> type score
string
127.0.0.1:6379> get score
"103545"
127.0.0.1:6379> getrange score 0 1
"10"
127.0.0.1:6379> getrange score 2 3
"35"
127.0.0.1:6379> getrange score 4 5
"45"
decr key #原子性减1
decrby key n #原子性减n
get key
getset
127.0.0.1:6379> get age
"50"
127.0.0.1:6379> getset age 10
"50"
127.0.0.1:6379> get age
"10"
incr key #原子性加1
incrby key n #原子性加n
incrbyfloat key value #增加浮点数
mset key1 value1 key2 value2 ... #原子的,不存在只更新一部分key的情况
mget key1 key2 ...
msetnx key1 value1 key2 value2 ... #原子的,只要有一个key不存在,则存在的key也不更新
127.0.0.1:6379> keys *
1) "score"
2) "age"
127.0.0.1:6379> get age
"10"
127.0.0.1:6379> msetnx age 20 length 50
(integer) 0
127.0.0.1:6379> get age
"10"
strlen key #获取长度
psetex key milliseconds value
setex key seconds value
setnx key value
SET key value [EX seconds] [PX milliseconds] [NX|XX]
- EX seconds #设置键key的过期时间,单位时秒
- PX milliseconds #设置键key的过期时间,单位时毫秒
- NX #只有键key不存在的时候才会设置key的值
- XX #只有键key存在的时候才会设置key的值
命令 SET resource-name anystring NX EX max-lock-time 是一种用 redis 来实现锁机制的简单方法。
解锁脚本
if redis.call("get",KEYS[1]) == ARGV[1]
then
return redis.call("del",KEYS[1])
else
return 0
end
5、hash
redis不支持类型嵌套,比如hash类型的字段只能是string,不能是list或其他类型
hset key field value #不存在则set,存在则更新
hsetnx key field value #不存在时,才set,原子操作
hget key field
hmset key field1 value1 field2 value2 ...
hmget key field1 field2 ...
hgetall key
hexists key field
hdel key field1 field2 ...
hkeys key #获取所有属性
hvals key #获取所有值
hlen key #获取属性数量
6、list
lpush key value1 value2 ...
rpush key value1 value2 ...
lpop key #会删除元素
lpop key
lpush结合lpop(或rpush结合rpop)可以做栈
lllen key #list长度,时间复杂度为O(1) ,因为读取的是现成的值,不像mysql select count(*)会全表扫描
lrange key start end #不会删除元素,包含两端元素,支持负索引
ltrim key start end #和lrange类型,但会删除元素
lrem key count value #删除前count个值为value的元素,count>0从左删除,count<0从右删除,count=0删除所有
lindex key index #获取指定索引的元素
lset key index value #在指定索引处插入元素
linsert key before|after pivot value #将value插入到pivot的前面或后面
rpoplpush src dst #移除src队列最右边的元素,插入到dst队列的最左边,src和dst可以相同
7、set
sadd key value1 value2 ... #添加元素
srem key value1 value2 ... #删除元素
SMEMBERS key #获取所有元素
SISMEMBER key value #判断元素是否存在
集合间运算
scard key #获取元素个数
spop key #随机删除一个元素
SRANDMEMBER key count #随机获取count个元素,如果不传count则随机获取一个元素
8、zset
- list是用链表实现的,数据访问越靠两端的元素越快,适合实现新鲜事、日志这类很少访问中间元素的应用
- 而zet是通过skiplist实现的,即使读取中间部分的元素也很快
zadd key score1 value1 score2 value2 ... #添加元素,如果元素已存在则覆盖之前的分数
zscore key value1 #获取元素的分数
zrange key start end withscores #先从小到大排序,再返回start到end之间的元素,传入withscores会返回分数
zrevrange key start end withscores #从大到小排序
ZINCRBY key score value #给元素加分
zrangebyscore key min max withscores limit offset count #获取指定分数范围内的元素,min和max默认包含,(80表示不包含,-inf、+inf分别表示负无穷、正无穷
zrevrangebyscore #从大到小排序,注意min和max也是反的
zcard key #获取元素数量
zcount key min max #获取指定分数范围内的元素个数
zrank key value #获取元素排名
zrevrank key value #从大到小排序,获取元素排名
标签:127.0,6379,0.1,元素,redis,value,命令,key,大全 来源: https://blog.51cto.com/u_14643435/2845753
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。