redis的ping可以直接在命令里用
redis-cli -h -p -a ping #正常的话返回pong
Redis的常用命令,可以tab出来,不需要分号之类的
>select 库名 #进入某个库
>info #查看redis的详细信息,如内存、连接数等
>key * #显示该库的所有key,大量key时不可以用
>del key值 #删除某个key,可以多个,不区分key类型
>type key #查看key的类型
>get key #查看某个key的值
>flushdb #清空某个库,需要切换到该库
>flushall #清空所有库
>config get * #查看所有配置
>config set #临时设置
>config rewrite #永久设置
>info clients #查看当前的redis连接数
>config get maxclients #允许的最大连接数
>config set maxclients 10 #设置redis允许的最大连接数
>client list #获取客户端列表
>client setname
>client getname
>client kill ip:port #杀死指定连接
>info memory #查看内存情况
>expire key1 10 #设置key的过期时间
>ttl key1 #查看key的过期时间
redis-cli -h host -p port -a passwd -n database #终端连接redis并切换库
redis的内存淘汰策略
>config get maxmemory-policy #查看当前的淘汰策略
volatile-lru策略:加入键的时候如果过限制,首先从设置过期时间的键集合中删除最久没使用的键
Allkeys-lru策略:加入键的时候如果过限制,通过LRU算法删除最久没使用的key
查看单个key的大小 ,命令redis-memory-for-key -s -p -a key值,需要安装
redis-cli检测到标准输出是tty(终端)时,会展示额外的信息,在这里就是(integer)或者是1)2)等。
当redis的返回数据的标准输出不是tty,例如,数据被重定向到管道或者文件中去,会自动默认开启--raw选项,即不会增加额外的信息
主动加--raw,在终端输出时也不显示额外信息,同时可以显示中文
redis的数据类型,set(集合)、Hash、String、List、Zset
set存储的是无序不重复的元素
SADD 插入set类型的数据
SADD KEY_NAME VALUE1..VALUEN
smembers 显示
sinter key1 key2 代表求两个集合的交集 (两者都有的元素)。
sdiff key1 key2 两者的差集,返回存在key1中,但不存在于key2中的值。
sunion key1 key2 返回并集(两个集合中的所有元素)
key相同,value不同时数据不会被覆盖
HMSET 插入hash类型数据
HMSET KEY_NAME FILELD1 VALUE1 …FILELDN VALUEN
Hget 显示
lpush 插入List类型数据
Lpush file 数据
lrange 显示
String类型
set
Get
Zset类型(有序集合)
Zadd
zrangebyscore
redis-benchmark redis的压测模拟命令
redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -c 50 -t set,get -q
-h 指定服务器主机名 127.0.0.1
-p 指定服务器端口 6379
-s 指定服务器 socket
-c 指定并发连接数 50
-n 指定请求数 10000
-d 以字节的形式指定 SET/GET 值的数据大小 2
-k 1=keep alive 0=reconnect 1
-r SET/GET/INCR 使用随机 key, SADD 使用随机值
--csv 以 CSV 格式输出
-t 仅运行以逗号分隔的测试命令列表。
-q 结果只显示每秒执行的请求数