Redis介绍:
介绍
redis 是一个开源的、使用C语言编写的、支持网络交互的、可以基于内存也可以持久化的Key-Value数据库。
redis的源码非常简单,只要有时间看看谭浩强的C语言,在去看redis的源码能看懂50-60%。
redis目前最大的集群应该是新浪的应该。
redis目前是vmvaer来支持的,很多的开源软件都需要某些组织来支持的。如果一个开源软件没有金钱来支持的话很难走的持久
Redis和Memcache对比
持久化:以电商举例,session用memcache来做的,购物车用redis来做的,当你退出的时候会提示你购物车里的物品会在你退出后继续保存。相对来说memcache存储更单一化!
主从复制:redis的主从复制类似mysql的主从复制但是原理是不同的!
虚拟内存:说白了就是把内存里一些不用的东西放在硬盘上,最好不要用,降低效率,现在内存来说比较便宜。
Redis安装&基本操作:
安装
检查配置环境
1 | 检查gcc是否安装,如果没有安装: |
下载安装Redis
1 | cd /opt/ |
配置redis
1 | 复制管理脚本 |
修改redis启动模式
1 | 默认Redis启动的时候是启动在前台的,把他改为启动在后台 |
开机启动
1 | 首先修改Redis启动脚本: |
指定日志存放位置&PID文件&数据库文件存放位置(下一边写持久化)
1 | vim /etc/redis/6379.conf |
基本操作
1 | SET 设置Key |
注:Redis是不区分大小写的,命令最好使用大写这样能区分是命令还是参数!
set的例子:
1 | 192.168.0.201:6379> SET hello hehe |
设置多个key value 然后使用使用keys * 去查看所有
1 | 192.168.0.201:6379> SET hello1 hehe1 |
判断key是否存在
1 | 判断Key是否存在使用:EXISTS 他返回的是整形:0不存在,1存在 |
删除KEY
1 | 192.168.0.201:6379> DEL hello |
查看类型TYPE
1 | 只要用set类型就是字符串。查看类型命令用TYPE |
Keyspace
1 | redis是支持多个实例的默认最多16个,可以修改配置文件来支持更多! |
Redis数据类型:
他用不同的命令来区分你要操作什么数据类型
类型不能嵌套,不能混! 但是有个王炸:set能把所有的类型都改为字符串类型!
字符串类型:
1 | SET |
自增类型
1 | 比如说投票点下+1 ,如果说用set每点一次修改set下那就不太现实。所有redis有个自增类型:INCR |
散列类型(hash)
1 | 和数据库存的表似的,表不是的有字段吧,可以给每个字段设置个值 |
列表类型
1 | 列表类型:他是存储一个有序的字符串列表 这个“有序”是什么时候进来的! |
集合类型
1 | 集合是高一学的,第一个学期就是学的集合 |