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的名字
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命令大全:http://doc.redisfans.com/
exists key #判断某个key是否存在
move key db # 把key指定的数据移动到db指定的数据库
expire key 秒钟 #为指定的key设置过期的时间
ttl key #查看还有多少秒过期 ,-1表示永不过期,-2表示已过期
type key #查看你的key是什么类型
原文:https://www.cnblogs.com/licha233/p/12735501.html