初识redis

栏目: 数据库 · 发布时间: 6年前

内容简介:官方称可以达到10W的qps将数据存储在内存中由C语言编写

1.Redis初识

Redis特性

1.      速度快

官方称可以达到10W的qps

将数据存储在内存中

C语言 编写

线程模型为单线程

2.      持久化

Redis将所有数据保持在内存中,并异步更新到磁盘上

3.      支持多种数据结构

String

Hash

List

Set

ZSet

BitMap(位图)

HyperLogLog(超小的内存唯一值计数器)

GEO(地理信息定位)

4.      支持多种编程语言

Asp.net (asp.net core)

Java

Python

Ruby

Lua

NodeJS

5.      功能丰富

支持类MQ的发布订阅功能

支持 Lua 脚本

支持事务

支持pipeline

6.      非常简单

Redis 3.0的单机核心代码只有2300行代码

单线程模型

7.      支持主从复制

后续会详细说

8.      高可用、分布式

在 V2.8 中支持Redis Sentinel

在 V3.0 中支持Redis Cluster

Redis启动方式

最简启动使用默认配置

./redis-server

动态参数启动

./redis-server --port 6379

指定配置文件启动

./redis-server configPath

生产环境推荐此方式:单机多实例配置

Redis基础常用配置

1.daemonize

是否是守护进程(yes/no),设置为yes时,Redis会把启动日志输出到日志文件中

2.port

Redis端口号

3.logfile

log 输出到标准设备,logs 不写文件,输出到空设备,/deb/null

4.dir

数据库存放路径

Redis数据结构与内部编码

string     :raw , int , embstr

int的范围相当于 Java 中的long,为8个字节长整型

字符长度少于等于39个长度时为embstr

字符长度超过39个长度时为raw,比起embstr,是不连续的

hash :hashtable(哈希表) , ziplist(压缩列表)

hash-max-ziplist-entries 512

hash-max-ziplist-value 64

当hash结构的field数量小于等于512并且每个field与value的长度小于等于64时,hash会采用ziplist

list :linkedlist(双向循环链表) , ziplist(压缩列表)

list-max-ziplist-entries 512

list-max-ziplist-value 64

当list结构的元素数量小于等于512并且每个item的长度小于等于64时,list会采用ziplist

set :hashtable(哈希表) , intset(整数集合)

set-max-intset-entries 512

当set结构的元素数量小于等于512时候,set将采用intset

zset :skiplist(跳跃列表) , ziplist(压缩列表)

zset-max-ziplist-entries 512

zset-max-ziplist-value 64

当zset结构的元素数量小于等于512并且每个member的长度小于等于64时,zset会采用ziplist

当key的数量比较少时,Redis采取以时间换空间的策略

当key的数量增多时,Redis采取以空间换时间的策略

查看内部编码的方式 object encoding ${key}

ziplist的特点

连续内存

读写有指针位移,最坏O(n 2 )

新增删除有内存重分配

Redis单线程为什么速度还那么快

纯内存

使用epoll创建非阻塞IO

由于是单线程,因此避免了线程切换和竞态消耗

Redis单线程需要注意的点

一次只会运行一条命令

拒绝长命令/慢命令

keys

flushall

flushdb

slow lua script

mutil/exec

operate

Redis配置生效方法

修改config配置文件,然后重启 redis 服务

config set configName configValue (前提需要当前配置支持动态配置)


以上所述就是小编给大家介绍的《初识redis》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

第二次机器革命

第二次机器革命

[美]埃里克·布莱恩约弗森 / 蒋永军 / 中信出版社 / 2014-9 / 59.80

“一本非常鼓舞人心的书!”——托马斯•L•弗里德曼 《世界是平的》作者 一场革命开始了! 在《第二次机器革命》这本书中,埃里克•布莱恩约弗森和安德鲁•麦卡菲——这两位处于数字技术时代最前沿的思想家,向我们阐述了驱动我们经济和生活的发生变革的力量。他们认为,数字技术将会给我们带来难以想象的巨大变革:想象一下令人眩目的个人数字技术产品、一流的基础设施,都将会给我们带来极大的便利。数字技术(......一起来看看 《第二次机器革命》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码