博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis 常用命令
阅读量:5745 次
发布时间:2019-06-18

本文共 2255 字,大约阅读时间需要 7 分钟。

hot3.png

连接:redis-cli -h *** -p port -a passwd -n db

set   key  value         设定key值;set name  value EX time,可以通过help set 查看,设置数据存储时间
get   key                    获取指定key值
keys   *                      获取所有的key,如果key过多会消耗大量内存,给服务器造成压力
scan   num               num位0,表示开始第一次迭代,返回数组,第一个为下次的num值,一直到数组的第一个值为0时,迭代结束,key过多是避免用上面的keys *
type  key                通过上述keys or scan遍历找到需要key,然后通过type来判断是何种类型的key来取值,如果是string直接get key即可,如果是list,那就用下面的lrange key start end
lpush name value [value ...]      创建一个列表数据,默认先进后出
rpush name value [value ...]      同上,只是数据是先进先出
lrange name start stop             取列表数据,索引同Python

sadd key  value1 value2 ...        创建一个集合,数据类型是set,跟Python一下也是唯一性

SMEMBERS key                         获取集合里面的所有成员,SCARD key 统计成员数

AUTH "password"     认证

SELECT index            切换数据库

PING                         测试是否正在运行
INFO                         列出redis的相关数据,比如版本,启动文件主从
DBSIZE                      列出当前库有多少数据
FLUSHDB                  删除当前库的所有数据
FLUSHALL                 删除所有库的所有数据
LASTSAVE                 返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示
MONITOR                 实时打印出 Redis 服务器接收到的命令,调试用

del                            删除里面的键,del key

SAVE                         异步保存数据到硬盘,若干配置没有开启持久化存储方式的话,重启服务数据丢失

SLAVEOF host port   将当前服务器转变为指定服务器的从属服务器(slave server)
SYNC                         用于复制功能(replication)的内部命令

根据key值删除数据

/usr/local/bin/redis-cli -p port -a passwd  KEYS "cm:newmonitor:*" | xargs /usr/local/bin/redis-cli -p port -a passwd DEL 
###如果不是默认的0库的话得加上数据库的参数 -n  db

KEYS 查出键值,列出清单,然后根据列出的清单循环键值

hgetall 查找每个键值下面的内容,根据内容做判断是否需要删除

优化:
1:更细redis系统内存占用机制
vim /etc/sysctl.conf
vm.overcommit_memory = 1

#最好不要设置为0,Linux的OOM机制在内存不足的情况下,会自动选择性Kill进程点数过高的进程,0会中招。

sysctl vm.overcommit_memory=1
>0: 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
>1: 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
>2: 表示内核允许分配超过所有物理内存和交换空间总和的内存

2:单线程模式,尽量使用耗时短的命令

3:可以组合的命令用pipelining连续执行
4 :操作系统的Transparent huge pages功能必须关闭: echo never >>/sys/kernel/mm/transparent_hugepage/enabled
5: 根据业务需求选择数据持久化策略,rdb-设置多种快照方式,但是保存的时候fork子进程会造成延迟,并且在保存的过程中crash会导致这部分为保存的数据丢失
    rdb更高效,aof更安全,但是对性能有一定的影响(rdb在fork造成最新一次延迟可以通过INFO命令返回的latest_fork_usec查看)
6:引入读写分离机制(主从复制)
7:redis.conf 配置文件的一些基本参数:最大连接数等

使用SLOWLOG GET [number]命令,可以输出最近进入Slow Log的number条命令。

使用SLOWLOG RESET命令,可以重置Slow Log

内存不足时,非常缓慢是否是大量占用swap引起

当Linux将Redis所用的内存分页移至swap空间时,将会阻塞Redis进程,导致Redis出现不正常的延迟。Swap通常在物理内存不足或一些进程在进行大量I/O操作时发生,应尽可能避免上述两种情况的出现。

/proc/<pid>/smaps文件中会保存进程的swap记录,通过查看这个文件,能够判断Redis的延迟是否由Swap产生。如果这个文件中记录了较大的Swap size,则说明延迟很有可能是Swap造成的

windows 工具 redis desktop manager
地址:https://redisdesktop.com/download

 

转载于:https://my.oschina.net/u/2343310/blog/894624

你可能感兴趣的文章
oracle 强行杀掉一个用户连接
查看>>
Git提交本地库代码到远程服务器的操作
查看>>
让你快速上手的Glide4.x教程
查看>>
浮动和清除(闭合)浮动
查看>>
LR录制脚本时IE打不开的原因
查看>>
Sublime Text 2.0.2,Build 2221注册码
查看>>
最长递增子序列 动态规划
查看>>
原生CSS设置网站主题色—CSS变量赋值
查看>>
webpack 4.0 中 clean-webpack-plugin 的使用
查看>>
python分类
查看>>
GitBlit (1)-- 在linux 安装 GitBlit 并运行
查看>>
程序是如何执行的(一)a=a+1
查看>>
BZOJ - 3578: GTY的人类基因组计划2
查看>>
【http】post和get请求的区别
查看>>
EL表达式无法显示Model中的数据
查看>>
ps6-工具的基础使用
查看>>
linux下使用过的命令总结(未整理完)
查看>>
时间助理 时之助
查看>>
英国征召前黑客组建“网络兵团”
查看>>
PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)...
查看>>