您的位置:首页 > 数据库 > Redis

redis简介与安装准备

2017-11-10 22:15 232 查看
是什么?

redis:remote dictionary server,远程字典服务器;

开源的,C编写,遵守BSD协议,高性能分布式内存数据库;

支持持久化,支持数据备份,即master-slave模式数据备份;

能干什么?

内存存储和持久化,异步存硬盘;

取最新几条数据;设置过期时间等;

发布订阅功能;定时器、计数器;

redis的安装:

测试:redis-benchmark,大概读10w,写9w;

Redis启动后杂项基础知识讲解

单进程模型来处理客户端的请求。

对读写等事件的响应是通过对epoll函数的包装来做到的。

Redis的实际处理速度完全依靠主进程的执行效率。

epoll是Linux内核为处理大批量文件描述符而作了改进的epoll,是Linux下多路复用IO-select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。

默认16个数据库,类似数组下表从零开始,初始默认使用零号库;

select命令切换数据库;

dbsize查看当前数据库的key的数量;

flushdb:清空当前库;

Flushall;通杀全部库;

统一密码管理,16个库都是同样密码,要么都OK要么一个也连接不上;

Redis索引都是从零开始;

Redis的五大数据类型:

string(字符串):

string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。

string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。

string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M。

hash(哈希,类似java里的Map):

Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

List(列表)

Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。

它的底层实际是个链表。

Set(集合)

Redis的Set是string类型的无序集合。它是通过HashTable实现实现的。

zset(sorted set:有序集合)

Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。

redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  多线程 redis nosql