redis详解
一、redis介绍:
-
1.不需要定义表结构,直接储存数据。
-
2.基于缓存提升系统性能
-
3.消息队列处理,先进先出。
-
4.数据储存 :a增删改查 b硬盘持久化。
二、redis.conf配置
-
doemonize yes :表示后台启动
-
port :表示端口号 一般为了安全不用默认
-
./redis-server ..../redis.conf 启动服务
-
redis- cli -h localhost -p 3306 info 显示redis版本详细信息
三、单进程单线程好处
- 代码更清晰,处理逻辑更简单
- 不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗
- 不存在多进程或者多线程导致的切换而消耗CPU
四、单进程单线程弊端
-
无法发挥多核CPU性能,不过可以通过在单机开多个Redis实例来完善;
-
其他一些优秀的开源软件采用的模型
五、五种数据类型的数据结构对比有什么不同(是否可以重复)
-
string的数据结构: key:value(string/int/float),出现重复key会进行覆盖。
-
list的数据结构:
key: value1(string/int/float)
value2(string/int/float)
value2(string/int/float)
value3(string/int/float)
....(元素可以重复,遵循先进先出,用作消息对列)
-
hash的数据结构
class: field1:value(string/int/float)
field2:value(string/int/float)
field3:value(string/int/float)
...(不可以重复,但是field对应的值可以重复)
- set的数据结构
key: value1(string/int/float)
value2(string/int/float)
value3(string/int/float)
....(集合成员是唯一的,这就意味着集合中不能出现重复的数据。)
- sort set的数据结构
key: value1(string/int/float)
value2(string/int/float)
value3(string/int/float)
...(有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。