文档章节

redis 常用命令

 空灵飞渡
发布于 2017/05/08 11:01
字数 1162
阅读 60
收藏 1

连接: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

 

© 著作权归作者所有

上一篇: redis简书
下一篇: linux echo命令
粉丝 6
博文 187
码字总数 87809
作品 0
广州
私信 提问

暂无文章

灵光一闪来个科普贴:Linux文件系统

在计算机系统中,各种需要保存的信息都是以文件的形式存在的。文件管理是对系统信息资源的管理,是操作系统的一项重要功能。 1.文件与文件系统: 1.1文件: 文件是具有名字的一组相关信息的有...

Linux就该这么学
13分钟前
2
0
ExtJS 4.2 评分组件

本文转载于:专业的前端网站➸ExtJS 4.2 评分组件 上一文章是扩展ExtJS自带的Date组件。在这里将创建一个评分组件。 目录 1. 介绍 2. 示例 3. 资源下载 1. 介绍 代码参考的是 Sencha Touch 2...

前端老手
17分钟前
2
0
如何为视频添加封面?

一个好的视频封面可以吸引观众的眼球,从而起到事半功倍的宣传效果,但是很多小伙伴并不知道怎么给视频添加封面。下面分享一个制作封面否方法,操作起来也比较简单的,有兴趣的小伙伴请接着往...

白米稀饭2019
27分钟前
2
0
如何使用soapUI模拟webservice客户端发送请求

参考资料 https://jingyan.baidu.com/article/cbcede0712849a02f40b4d88.html 左边是请求参数,可以自己填写!按着那个绿色三角箭头可以模拟发送请求,右边是返回的报文 soapui如何发送xml格...

故久呵呵
56分钟前
5
0
Java Security 介绍

1.介绍 Java平台设计的重点是安全性。在其核心,java语言本身是类型安全的并且提供了垃圾自动回收,这使其增加了应用程序代码的健壮性。安全的类加载以及验证机制确保了只有合法的代码才能够...

lixiaobao
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部