redis是一个开源的高性能key-value数据库,被广泛应用于消息队列、缓存、计数器和日志系统中。在日志系统中,Redis应用广泛,由于Redis执行速度快,容量大、安全灵活等优点,使得Redis在日志管理中有着较优的应用场景。
借助Redis精准记录日志信息,可以收集众多客户端的请求信息,并进行日志服务归档记录,以方便日后数据查询分析工作。 Redis
主要提供了两种日志记录方式,分别是单机的简单日志记录,以及集群环境下的精准记录日志服务。在基于单机配置的日志记录中,Redis可以配合Python等脚本语言,记录客户端发送的日志请求。代码如下:
import redis
def LogKeep(input):
r = redis.Redis(host=’localhost’, port=6379, db=0)
r.set(‘Log’, input)
在基于集群配置的日志记录中,Redis使用master-slave模式,以保证日志的精确记录和安全性。不仅如此,Redis还提供了logger组件,可以将本地日志输出定向到Redis中,且支持json格式的存储和读取,满足用户的多种日志记录需求。代码如下:
import logging
import redis
logger = logging.getLogger(‘mylogger’)
r = redis.Redis(host=’localhost’, port=6379, db=0)
hdl = logging.Handler.to_redis(r)
hdl.setFormatter(logging.Formatter(‘%(levelname)-8s %(message)s’))
logger.addHandler(hdl)
Redis精准记录日志信息可以使得用户更好地收集客户端发送的信息,便于日后排查和分析,解决用户在日志管理中存在的问题。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
数据写入redis并返回怎么处理
1、 快照的方式持久化到磁盘自动持久化规则配置save 900 1save 300 10save 60 上面的配置规则意思如下:# In the example below the behaviour will be to save:# after 900 sec (15 min) if at least 1 key changed# after 300 sec (5 min) if at least 10 keys changed# after 60 sec if at least keys changedredis也可以关闭自动持久化,注释掉这些save配置,或者save “”如果后台保存到磁盘发生错误,将停止写操作-writes-on-bgsave-error yes使用LZF压缩rdb文件,这会耗CPU, 但是可以减少磁盘占用 yes保存rdb和加载rdb文件的时候检验,可以防止错误,但是要付出约10%的性能,可以关闭他,提高性能。 rdbChecksum yes导出的rdb文件名dbfilename 设置工作目录, rdb文件会写到该目录, append only file也会存储在该目录下 ./Redis自动快照保存到磁盘或者调用bgsave,是后台进程完成的,其他客户端仍然和可以读写redis服务器,后台保存快照到磁盘会占用大量内存。 调用save保存内存中的数据到磁盘,将阻塞客户端请求,直到保存完毕。 调用shutdown命令,Redis服务器会先调用save,所有数据持久化到磁盘之后才会真正退出。 对于数据丢失的问题:如果服务器crash,从上一次快照之后的数据将全部丢失。 所以在设置保存规则的时候,要根据实际业务设置允许的范围。 如果对于数据敏感的业务,在程序中要使用恰当的日志,在服务器crash之后,通过日志恢复数据。 2、 Append-only file 的方式持久化另外一种方式为递增的方式,将会引起数据变化的操作, 持久化到文件中, 重启redis的时候,通过操作命令,恢复数据.每次执行写操作命令之后,都会将数据写到中。 # appendfsync alwaysappendfsync everysec# appendfsync no当配置为always的时候,每次中的数据写入到文件之后,才会返回给客户端,这样可以保证数据不丢,但是频繁的IO操作,会降低性能。 everysec每秒写一次,这可能会丢失一秒内的操作。 aof最大的问题就是随着时间append file会变的很大,所以我们需要bgrewriteaof命令重新整理文件,只保留最新的kv数据。
怎样防止黑客侵入电脑?
当黑客入侵一台主机后,会想方设法保护自己的“劳动成果”,因此会在电脑上留下种种后门来长时间得控制这台电脑,其中使用最多的就是账户隐藏技术。在电脑上建立一个隐藏的账户,以备需要的时候使用。账户隐藏技术可谓是最隐蔽的后门,一般用户很难发现系统中隐藏账户的存在,因此危害性很大,本文就对隐藏账户这种黑客常用的技术进行揭密。在隐藏系统账户之前,我们有必要先来了解一下如何才能查看系统中已经存在的账户。 在系统中可以进入“命令提示符”,控制面板的“计算机管理”,“注册表”中对存在的账户进行查看,而管理员一般只在“命令提示符”和“计算机管理”中检查是否有异常,因此如何让系统账户在这两者中隐藏将是本文的重点。
一、“命令提示符”中的阴谋
其实,制作系统隐藏账户并不是十分高深的技术,利用我们平时经常用到的“命令提示符”就可以制作一个简单的隐藏账户。
点击“开始”→“运行”,输入“CMD”运行“命令提示符”,输入“net user piao$ /add”,回车,成功后会显示“命令成功完成”。 接着输入“net localgroup administrators piao$ /add”回车,这样我们就利用“命令提示符”成功得建立了一个用户名为“piao$”,密码为“”的简单“隐藏账户”,并且把该隐藏账户提升为了管理员权限。
我们来看看隐藏账户的建立是否成功。 在“命令提示符”中输入查看系统账户的命令“net user”,回车后会显示当前系统中存在的账户。 从返回的结果中我们可以看到刚才我们建立的“piao$”这个账户并不存在。 接着让我们进入控制面板的“管理工具”,打开其中的“计算机”,查看其中的“本地用户和组”,在“用户”一项中,我们建立的隐藏账户“piao$”暴露无疑。

可以总结得出的结论是:这种方法只能将账户在“命令提示符”中进行隐藏,而对于“计算机管理”则无能为力。 因此这种隐藏账户的方法并不是很实用,只对那些粗心的管理员有效,是一种入门级的系统账户隐藏技术。
二、在“注册表”中玩转账户隐藏
从上文中我们可以看到用命令提示符隐藏账户的方法缺点很明显,很容易暴露自己。 那么有没有可以在“命令提示符”和“计算机管理”中同时隐藏账户的技术呢?答案是肯定的,而这一切只需要我们在“注册表”中进行一番小小的设置,就可以让系统账户在两者中完全蒸发。
1、给管理员注册表操作权限
在注册表中对系统账户的键值进行操作,需要到“HKEY_LOCAL_MACHINE\SAM\SAM”处进行修改,但是当我们来到该处时,会发现无法展开该处所在的键值。 这是因为系统默认对系统管理员给予“写入D AC”和“读取控制”权限,没有给予修改权限,因此我们没有办法对“SAM”项下的键值进行查看和修改。 不过我们可以借助系统中另一个“注册表编辑器”给管理员赋予修改权限。
点击“开始”→“运行”,输入“”后回车,随后会弹出另一个“注册表编辑器”,和我们平时使用的“注册表编辑器”不同的是它可以修改系统账户操作注册表时的权限(为便于理解,以下简称)。 在中来到“HKEY_LOCAL_MACHINE\SAM\SAM”处,点击“安全”菜单→“权限”,在弹出的“SAM的权限”编辑窗口中选中“administrators”账户,在下方的权限设置处勾选“完全控制”,完成后点击“确定”即可。 然后我们切换回“注册表编辑器”,可以发现“HKEY_LOCAL_MACHINE\SAM\SAM”下面的键值都可以展开了。
提示:上文中提到的方法只适用于Windows NT/2000系统。 在Windows XP系统中,对于权限的操作可以直接在注册表中进行,方法为选中需要设置权限的项,点击右键,选择“权限”即可。
2、将隐藏账户替换为管理员
成功得到注册表操作权限后,我们就可以正式开始隐藏账户的制作了。 来到注册表编辑器的“HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names”处,当前系统中所有存在的账户都会在这里显示,当然包括我们的隐藏账户。 点击我们的隐藏账户“piao$”,在右边显示的键值中的“类型”一项显示为0x3e9,向上来到“HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\”处,可以找到“E9”这一项,这两者是相互对应的,隐藏账户“piao$”的所有信息都在“E9”这一项中。 同样的,我们可以找到“administrator”账户所对应的项为“F4”。
将“piao$”的键值导出为piao$,同时将“E9”和“F4”项的F键值分别导出为,。 用“记事本”打开,将其中“F”值后面的内容复制下来,替换中的“F”值内容,完成后保存。 接下来进入“命令提示符”,输入“net user piao$ /del”将我们建立的隐藏账户删除。 最后,将piao$和导入注册表,至此,隐藏账户制作完成。
3、切断删除隐藏账户的途径
虽然我们的隐藏账户已经在“命令提示符”和“计算机管理”中隐藏了,但是有经验的系统管理员仍可能通过注册表编辑器删除我们的隐藏账户,那么如何才能让我们的隐藏账户坚如磐石呢?
打开“”,来到“HKEY_LOCAL_MACHINE\SAM\SAM”处,设置“SAM”项的权限,将“administrators”所拥有的权限全部取消即可。 当真正的管理员想对“HKEY_LOCAL_MACHINE\SAM\SAM”下面的项进行操作的时候将会发生错误,而且无法通过“”再次赋予权限。 这样没有经验的管理员即使发现了系统中的隐藏账户,也是无可奈何的。
三、把“隐藏账户”请出系统
隐藏账户的危害可谓十分巨大。 因此我们有必要在了解了账户隐藏技术后,再对相应的防范技术作一个了解,把隐藏账户彻底请出系统。
1、添加“$”符号型隐藏账户
对于这类隐藏账户的检测比较简单。 一般黑客在利用这种方法建立完隐藏账户后,会把隐藏账户提升为管理员权限。 那么我们只需要在“命令提示符”中输入“net localgroup administrators”就可以让所有的隐藏账户现形。 如果嫌麻烦,可以直接打开“计算机管理”进行查看,添加“$”符号的账户是无法在这里隐藏的。
2、修改注册表型隐藏账户
由于使用这种方法隐藏的账户是不会在“命令提示符”和“计算机管理”中看到的,因此可以到注册表中删除隐藏账户。 来到“HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names”,把这里存在的账户和“计算机管理”中存在的账户进行比较,多出来的账户就是隐藏账户了。 想要删除它也很简单,直接删除以隐藏账户命名的项即可。
3、无法看到名称的隐藏账户
如果黑客制作了一个修改注册表型隐藏账户,在此基础上删除了管理员对注册表的操作权限。 那么管理员是无法通过注册表删除隐藏账户的,甚至无法知道黑客建立的隐藏账户名称。 不过世事没有绝对,我们可以借助“组策略”的帮助,让黑客无法通过隐藏账户登陆。 点击“开始”→“运行”,输入“”运行“组策略”,依次展开“计算机配置”→“Windows 设置”→“安全设置”→“本地策略”→“审核策略”,双击右边的“审核策略更改”,在弹出的设置窗口中勾选“成功”,然后点“确定”。 对“审核登陆事件”和“审核过程追踪”进行相同的设置。
4、开启登陆事件审核功能
进行登陆审核后,可以对任何账户的登陆操作进行记录,包括隐藏账户,这样我们就可以通过“计算机管理”中的“事件查看器”准确得知隐藏账户的名称,甚至黑客登陆的时间。 即使黑客将所有的登陆日志删除,系统还会记录是哪个账户删除了系统日志,这样黑客的隐藏账户就暴露无疑了。
5、通过事件查看器找到隐藏帐户
得知隐藏账户的名称后就好办了,但是我们仍然不能删除这个隐藏账户,因为我们没有权限。 但是我们可以在“命令提示符”中输入“net user 隐藏账户名称 ”更改这个隐藏账户的密码。 这样这个隐藏账户就会失效,黑客无法再用这个隐藏账户登陆。
什么是redis呢,求通俗解释
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 从2010年3月15日起,Redis的开发工作由VMware主持。 redis是一个key-value存储系统。 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。 这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。 在此基础上,redis支持各种不同方式的排序。 与memcached一样,为了保证效率,数据都是缓存在内存中。 区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。 Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。 它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。 [1]Redis支持主从同步。 数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。 这使得Redis可执行单层树复制。 从盘可以有意无意的对数据进行写操作。 由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。 同步对读取操作的可扩展性和数据冗余很有帮助。
发表评论