Redis
2019-02-17 01:51:47来源:博客园 阅读 ()
Redis简介
Redis是一个开源免费的高性能键值数据库,通常被用作数据库、缓存、消息代理。
它支持数据结构,如strings,hashes,lists,sets,sorted。
在Linux下使用Redis
1、安装Redis
进入http://redis.io/download下载Redis,解压,执行make对Redis解压后的文件进行编译,进入src执行make install进行Redis的安装
2、启动Redis
进入src目录下,使用 ./redis-server & 命令启动Redis
使用 ps - ef |grep redis 查看redis进程是否存在
3.关闭Redis
redis-cli shutdown/kill -9 端口号
4.退出Redis
ctrl+c
Redis的数据类型
Key
在Redis里,除了"\n"和空格不能做为名字的组成内容外,其他内容都可以作为Key的名字部分。名字长度不做要求。
不同redis数据库切换:
select 数据库
创建一个字段:
set id 1
输出一个字段的内容:
get id
删除一个字段:
del id
查看所有字段:
keys *
设置一个字段的生命周期:
expire color 时间
将一个字段从此数据库移动到另一个指定的数据库:
move name 数据库
删除当前数据库中所有的key
flushdb
删除所有数据库中的所有key
flushall
String
String是Redis的基本类型
Redis的String可以包含任何数据。包括jpg图片或者序列化的对象。
单个Value值最大上限是1G字节。
如果只使用String类型,Redis就可以被看作加上持久化特性的memcache
设置key对应的值为String类型的Value:
set key value
一次设置多个key
mset key1 value1 key2 value2
一个获取多个key的value
mget key1 key2
List
设置一个list链表key newlogin,内部有5个元素
lpush newlong tom
lpush new long tom1
lpush new long tom2
lpush new long tom3
lpush new long tom4
删除链表尾部的元素:
rpop list
通过范围查找链表内的元素信息:
lrange list 0 100
查看链表的长度
llen list
截取链表
ltrim list 1,3
还有一些其他的数据类型的操作,请参照官网api : redis.cn,redis.io
Redis配置文件介绍——Redis.conf
配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit
对大小写不敏感
默认为no。改为yes : 可以在后台运行
设置TCP的backlog,backlog其实是一个连接队列。
backlog队列总和=未完成三次握手队列+已经完成三次握手队列。
在高并发环境下你需要一个高backlog值来避免慢客户端连接问题。注意Liunx内核会将这个值减小到/proc/sys/core/somaxconn的值,所以需要确认增大somaxconn和tcp_max_syn_backlog两个值,来达到想要效果。
tcp三次握手:
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据。
如果配置成no,表示你不在乎数据不一致或者有其他的手段发现和控制。
rdbcompression:对于存储到磁盘中的快照,可以设置是否进行压缩存储。如果是的话,Redis会采用LZF算法进行压缩。如果你不想消耗CPU来进行压缩的话。可设置关闭此功能。
rdbchecksum:在存储快照后,还可以让Redis使用CRC64算法来进行数据校验,但是这样会增加大约10%的性能消耗,如果希望获取到最大性能的提升,可关闭此功能。
RDB
save秒数,写操作次数
RDB是整个内存的压缩过的Snapshot,RDB的数据结构,可以配置复合的快照触发条件。
默认:
1分钟内改了1万次;
或5分钟改了10次;
或15分钟改了1次;
优势:
适合大规模的数据恢复
对数据的完整性和一致性要求不高
劣势:
在一定间隔时间做一次备份,所以如果Redis意外down掉的话,就会丢失掉最后一次快照后的所有修改。
如何停止:
动态停止RDB保存规则的方法:redis -cli config set save ""
AOF
以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。
默认为no,改为yes 开启AOF
需要注意的是:即使已经在redis.conf文件中把appendonly 从no改为了yes,把服务器重启了的情况也没有appendonly.aof文件时,必须要执行
./redis-cli config set appendonly yes
redis-cli config set save “”
这两个命令后才会在安装目录下出现appendonly.aof文件
原文链接:https://www.cnblogs.com/XiaFengyi/p/10388590.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- redis缓存 2020-06-12
- Spring Boot 2.3.0 新特性Redis 拓扑动态感应 2020-06-11
- 作为一个面试官,我想问问你Redis分布式锁怎么搞? 2020-06-10
- Java 简介 2020-06-09
- 黑菜菌的JAVA学习笔记 2020-06-09
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash