NoSQL的四大分类
1.键值(Key-Value)存储数据库。使用到一个哈希表,这个表只有一个指针指向特定的数据, Redis Memcache
2.列存储数据库 HBase
3.文档型数据库 MongoDB ,SQLite
4.图形数据库 InfinterGraph
NoSQL的应用场景
1.数据模型比较简单
2.数据灵活性更强
3.对数据库性能要求比较高
4.不需要高度的数据一致性
Redis特点
1.Redis是K-V型数据库
2.Redis有丰富的数据类型(五大数据类型)
3.Redis支持持久化存储
4.Redis是单线程,线程安全,效率低
安装Redis(Linux版)
1.解压redis的压缩包
2.由于redis是c语言写的,安装之前需要c语言的依赖 yum install -y gcc
3.需要使用gcc 对redis的安装文件进行编译 make MALLoc=libc
4.执行安装 redis make install PREFIX=/user/redis
5.启动redis服务 进入redis安装目录,进入bin目录,./redis-server
6.启动redis的客户端 进入redis安装目录,进入bin目录,./redis-cli
7.启动redis服务的同时配置文件启动 ./redis-server ..redis.conf
8.修改redis的默认端口号 修改redis.conf里面的port属性
redis库中的概念
databases:用来存放数据的一个基本的单元,redis的每一个库都有唯一一个的名称(编号),从0开始,一共16个库(0-15)
切换库:select 库编号
redis指令
redis中清除库的指令
flushDB:清空当前库
flushALL: 清空所有库
set:存值
get:跟据key获取value
keys *:查看当前所有库的key
del:跟据key删除值,可以删除多个key对应的值
exists:判断指定的key是否存在
expire:为指定的key设置过期时间,单位是秒
keys:
*:代表任意位数的字符
?:代表一位字符
[ ae]:a或e,只代表一位字符,如果有特殊符号,用\
pexpire:设置指定key的过期时间,单位是毫秒
ttl:查看指定key的过期时间,单位是秒
pttl:查看指定key的过期时间,单位是毫秒
randomkey:随机获取一个key
rename:重命名一个key
type:查看指定的key对应的值得数据类型
redis数据类型
List类型(列表 类似于java中的list)
1.lpush:设置一个列表
2.lrange:获取一个列表区间内的元素
3.rpush:设置一个列表,在表尾添加数据
4.lpushx:保证这个key存在,在表头添加数据
5.rpushx:保证这个key存在,在表尾添加数据
6.lpop:移除并返回列表中左边的第一个元素
7.rpop:移除并返回列表中右边的第一个元素
8.llen:获取列表元素的个数
9.lset:设置某一个指定索引的位置的值(索引值必须正确)
10.lindex:获取某一个指定索引位置的元素
11.lrem:删除重复元素,可以指定删除的个数和具体的值。
12.ltrim:保留列表中特定区间的元素
13.linsert:在某一个元素之前|之后插入新元素