Redis

介绍

Redis官方的解释:The open source, in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker.

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis是一个非关系型数据库(NOSQL)

NOSQL ( not only sql ) 不仅仅是sql, 它是对所有非关系型数据库的一种统称。

NOSQL和RDBMS的区别

RDBMS:

高度组织化结构化数据

结构化查询语言(SQL,支持sql语句。

数据和关系都存储在单独的表中。

支持数据操纵语言DML [增删改],数据定义语言 DDL [表结构的修改]

严格的一致性,支持事务 

NOSQL:

代表着不仅仅是SQL

没有声明性查询语言  [不支持select 语句]

键 - 值对存储,【类似于map】

不支持事务的一致性

非结构化和不可预知的数据,数据可以是很多类型。

NOSQL的一些产品

redis:多用于java开发、mongodb:多用于前端、hbase:多用于数据库

安装Redis

首先安装c语言的插件  执行命令 yum install gcc-c++ 

下载redis Download | Redis

把redis压缩包上传到linux指定目录下,然后到指定目录解压 tar -zxvf XXX.tar.gz

然后切换到解压后的目录 cd XXX 执行命令 make 编译源码

之后再执行命令 make install 安装redis (这时redis会自动配置环境变量)

启动redis执行命令 redis-server redis.conf

客户端连接redis 执行命令 redis-cli

redis.conf配置

改为任意端口可连

 取消保护

 默认端口号

 后台启动

保存之后重启 redis-server  redis.conf  再连接客户端 redis-cli

安装redispuls图形化客户端软件

相当于MySQL中的navicat 

链接地址为虚拟机的ip 端口号为虚拟机redis中的端口号

连接redis 

检查防火墙是否放行端口

更改上面刚讲的redis.conf配置

连接后的界面如下

redis中常用的命令

关于数据库的命令

select n (选择第n个数据库) redis中默认有16个数据库0~15

flushdb 清空当前数据库数据

flushall 清空所有数据库数据

关于key的命令

set key value

get key

 判定key是否存在

查看所有key

expire key seconds 给key设置时间(单位秒) 

ttl key (查看key剩余时间)

redis支持的数据类型

redis的value可以是多种数据类型,如下:

 常用的有String字符串类型、Lists队列类型、Sets集合类型、Hashes哈希类型、SortedSet有序集合类型等。

redis命令手册

字符串类型

set key value: 存储字符串类型的数据,这里的key不允许重复。

get key: 根据key获取对应的value值。

mset key value key value ...: 存储多个key-value值

mget key key key....: 获取多个key对应的value

setnx key value: 如果指定的key存在,则不存入,如果不存在则存入。

 incr key: 为指定的key递增,只能对整型。

decr key: 为指定的key递减

decrby key number: 为指定的key递减相应的值

 del key:删除指定的key

hash数据类型

hset key field value: 存放hash类型的数据

hget key field: 获取对应field字段的值

hgetall key: 获取key对应hash数据内容

hvals key: 获取hash中所有的value值

hkeys key: 获取hash中所有field字段

List列表类型

它的value值为一个列表队列类型,列表中的元素允许重复。

key对应的value类型为一个列表类型。

lpush key value value value ... :从左边存放列表数据
rpush key value value value ... :从右边存放列表数据
lpop key  [count]: 从左边取出元素。
lrange key start end; 从左边获取指定范围的元素   -1:表示最后一个元素  

set集合类型

它的value值类型为set集合,集合中的元素无序,且不能有重复的数据。

sadd key element element....: 存放set类型的元素

smembers key: 获取指定key对应的所有元素

srandmember key [number]: 随机获取集合中一个或多个元素

sinter key key: 求多个集合的交集

spop key: 随机移除一个或多个元素

sorted set集合类型

它和set的区别就是在添加元素时需要指定一个分数,用该分数进行排序。

zadd key element score element score: 添加有序集合

zrange key start end: 从分数小到大的顺序获取集合中的元素

zrevrange key start end: 返回有序集中指定区间内的成员,通过索引,分数从高到底

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值