nosql--不仅仅是sql,是所有非关系型数据库的统称
常用的NOSQL产品
redis [企业使用频率很高]
mongodb
hbase [适合大数据]
redis
redis可以用作数据库,缓存和消息代理,而且里面可以存储多种数据类型,提供了高可用机制
安装redis
redis是基于c语言开发,所以必须安装c的环境
1.安装redis需要的环境。yum install -y gcc-c++
2.上官网下载redis源码安装包。 --redis-5.0.8.tar.gz
3.将源码放入centos中并解压 --tar -zxvf 解压的文件名
4.进入解压后的文件夹内 --cd redis-7.2.3
5.编译安装 --make install
6.安装成功后在redis的目录内就可以启动了 --redis-server redis.conf
客户端连接redis服务器
redis-cli -h redis服务器的IP -p端口号 ||端口号在启动后的信息中找Port有显示,默认为6379
-h 和 -p可以省略,只输入redis-cli默认为连接123.0.0.1端口为6379
redis支持的数据类型
redis支持的数据类型很多,使用最频繁的: String字符串,Hash,List队列,Set集合,ZSet有序集合等。
常用的redis命令
更多命令上官网查看:redis命令手册
key操作命令
keys *:查看所有key
del key ... :删除指定的key
expire key second:为指定的key设置过期时间
exists key:判断指定的key是否存在
数据库命令
select n:选择库
flushdb:清空当前库
flushall:清空所有库。
字符串类型(value的类型为字符串类型。默认可以存放512M大小的字符串内容)
value的类型为字符串类型。默认可以存放512M大小的字符串内容。
set key value: 存放字符串类型的数据
get key: 获取指定key对应的value值。
setex key second value: 存放字符串类型的数据并设置过期时间。
setnx key value: 如果指定的key存在,则不设置。不存在则放入数据。
incr key: 为指定的key递增
decr key: 为指定的key递减
Hash类型(value值为Hash数据类型。 Hash的value又是key-value形式)
hset key field value: 存储哈希类型的数据
hget key field: 获取存在哈希表中指定字段的value值
hgetall key: 获取在哈希表中指定key的所有字段和值
hkeys key: 获取所有哈希表中的字段
hvals key: 获取哈希表中所有的值
hexists key field:查询哈希表key中,指定的字段是否存在
list类型(list表示列表类型,value的值为list类型)
lpush key value value ....: 将一个或多个值插入到列表的头部。
lrange key start end: 获取列表指定范围内的元素
linsert key before|after element value: 在列表元素前或后插入元素
lpop key: 移除并获取列表中的第一个元素
lset key index value: 修改指定下标的值
set集合(无序且不可重复的集合)
sadd key element element ...:向集合添加一个或多个元素
smembers key: 返回集合中的所有元素
srem key : 移除集合中一个或多个元素
sinter key key..: 返回指定集合间的交集
zset集合(有序且元素不可重复的集合,排序跟属性的scord有关)
zadd key score value score value score value: 向有序集合添加一个或多个成员,或更新已存在成员的分数
zrange key start end: 返回有序集合指定区间内的成员,通过索引,分数从低到高
zrevrange key start end: 返回有序集合指定区间内的成员,通过索引,分数从高到底