Redis五大数据类型和基础知识

一.Redis的事务定义

Redis事务是一个单独的隔离操作,事务中的所有命令都会序列化,按顺序的执行,事务在执行的过程中,不会被其他客户端发来的命令请求所打断。

Redis事务的主要作用就是串联多个命令防止别的命令插队

二.Redis基础知识

(1) Redis是单进程来处理客户端请求的,对读写等事件的相应是通过对epoll函数的包装来做到的,Redis的实际处理速度完全依靠主进程的执行效率

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

(2) Redis默认16个数据库,类似数组下标从0开始,初始默认用0号库

# 在配置文件中可以修改
databases 16
# select语句切换数据库
select 2

(3) 常用命令

# 当前数据库的数据条数
DBSIZE 
# 查询全部
keys *
# 查询条件的查询 ?占一位 等等条件
keys a?
# 清空当前库
FLUSHDB
# 清空所有库
FLUSHALL

(4) 为什么默认端口6379

手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字

三.Redis的五大数据类型

String(字符串)

string是redis最基本的类型,一个key对应一个value,一个字符串value最多可以是512M

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

Set(集合)

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

ZSet(有序集合)

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

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

redis正是通过分数来为集合中的成员进行从小到大的排序,zset的成员是唯一的,但分数可以重复

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

redis hash 是一个键值对集合

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

List(列表)

Redis列表是简单的字符串链表,他的底层实际上是个链表

四.Redis常用指令

redis命令大全http://doc.redisfans.com/

exists key  #判断某个key是否存在
move key db  # 把key指定的数据移动到db指定的数据库
expire key 秒钟  #为指定的key设置过期的时间
ttl key  #查看还有多少秒过期 ,-1表示永不过期,-2表示已过期
type key   #查看你的key是什么类型

猜你喜欢

转载自www.cnblogs.com/licha233/p/12735501.html