一、nosql简介

RDBMS(关系型数据库)提供的结构化编程,让数据建模以及应用程序编程变得非常简单,带来了非常高的经济效益,并且学习成本也比较低。但在当今数据大爆炸时代,每时每刻都会海量的数据产生,对于数据的读写要求也越来越高,RDBMS已经不能满足人们的需求了,nosql则应运而生。

nosql(not only sql)意为:不再仅仅是结构化查询,它完全区别于RDBMS的数据存储结构,只需保证数据最终一致性而不是遵循ACID原则,读写性能远远超过RDBMS数据库。在大数据存储当中是必不可少的。

常见的nosql如:

1)redis

2)mongodb

3)memcached

二、redis简介

redis(remote dictionary server)是一个由C语言编写的开源的内存key-value数据结构存储,遵循BSD开源协议,它常被用作数据库、缓存、消息代理等。支持丰富的数据结构,如:strings、lists、sets,以及多种查询方式。同时它包含了一些强大的功能特性,如:复制、发布/订阅、lua脚本编程、事务、自动化集群隔离等。

redis的数据操作都是原子操作,并且在他的单线程架构下是不会有两个命令被同时执行的,因此你可以不用担心线程安全问题。

它也支持事务,不过与mysql事务不同,redis事务不支持回滚,你可以简单认为redis事务就是在批量执行命令。

由于它是基于内存的数据结构,所以它具有很高的性能(读的速度是110000次/s,写的速度是81000次/s),当然你也可以根据自己的项目选择持久化方式,例如:实时的持久化(日志方式实现)、定时持久化。同时是否持久化也是可选择,如果你只需要做基于内存的缓存,你也可以选择关闭持久化功能。

并且你可以用redis非常轻易地实现主从异步复制。

它可以运行在大多数可移植的操作系统上,如:linux、OS X等,并且没有其它依赖。linux和OS X是两个常用的开发和测试环境,redis官方推荐使用linux系统作为部署环境。官方并没有提供windows版的redis,不过微软开发了一个版本以提供支持。

redis一般用作缓存,它也实现了近似LRU和LFU的算法,更由于它是基于内存的高性能单线程架构所以面对秒杀等高并发情况也可以用它来解决。

三、安装redis

我们可以去redis官方下载安装包

redis官网:https://redis.io/(window版本前往GitHub下载:https://github.com/MicrosoftArchive/redis/releases

也可以使用如下命令(注意:由于redis是由C语言编写的,所以你要安装GCC:yum install gcc-c++):

$ wget http://download.redis.io/releases/redis-4.0.10.tar.gz
$ tar xzf redis-4.0.10.tar.gz
$ cd redis-4.0.10
$ make

make编译完成以后,在src目录下你会看到:redis-server

进入src目录,执行:

$ ./redis-server

启动redis服务端

你也可以执行:

$ ./redis-cli

启动客户端操作本地redis服务器

你可以可以操作远程服务器

$ redis-cli -h host -p port -a password

host: 主机地址

post: 端口一般是6379

password: 设置的密码,一般远程redis服务最好设置密码,否则需要关闭自我保护机制不然无法连接。

注意:

1)远程连接需要防火墙开启6379端口

firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload

2)redis.conf中注释掉默认绑定的IP

# bind 127.0.0.1

3)关闭自我保护模式或者添加密码

关闭,redis.conf中修改为no

protected-mode yes

设置密码123456(示例)

[root@localhost redis]# ./bin/redis-cli

127.0.0.1:6379> config set requirepass 123456

四、测试

启动服务端后启动客户端

测试是否可以连通

redis> PING

PONG

测试赋值和查询

redis> set foo bar
OK
redis> get foo
"bar"

五、后台运行

redis-server命令可以直接启动,但我这样我们就无法进行任何操作,我们需要让redis在后台运行。

在redis目录下有一个配置文件:redis.conf

我们可以通过配置该文件来达到后台运行的目的

vim 打开redis.conf 找到

将 daemonize no 修改为 daemonize yes 并保存退出

重新启动redis

$ ./redis-server ../redis.conf

注意:这里启动的时候加载了redis.conf配置文件

可以通过:

ps -ef|grep redis

查看执行进程

六、关闭服务

在redis客户端执行,这里可选择关闭前是否持久化内存数据

shutdown save|nosave

不建议使用kill终止进程

七、redis的基本命令

redis的基本命令采用以下格式:

redis> command keyName [arg...]

如:

redis> set name lay

set: 命令

name: 键的名称

lay: 参数值

以上命令设置了一个key = name , value = lay 的string类型的key-value数据。

更多基本命令如:

删除:del keyName

序列化值: dump keyName

检查是否存在: exists keyName

设定过期时间: expire keyName seconds

返回存储的类型:type keyName

...

更多命令参考官方文档:https://redis.io/commands

redis(1)简介的更多相关文章

  1. Redis详解(一)------ redis的简介与安装

    工作中一直在用 Redis,但是一直没有进行系统的总结,这个系列的博客将整体的介绍 Redis 的用法. 1.Redis 的简介 Redis:REmote DIctionary Server(远程字典 ...

  2. Redis系列(一):Redis的简介与安装

    原文链接(转载请注明出处):Redis系列(一):Redis的简介与安装 什么是 Redis Redis 是一个使用ANSI C 编写的开源.支持网络协议.基于内存.可选持久性的键值对数据库,它是一个 ...

  3. [转]Redis 数据结构简介

    Redis 数据结构简介 Redis可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串).List(列表).Set(集合).Hash(散列)和 Zset(有序集合 ...

  4. Redis 详解 (一) redis的简介和安装

    目录 1.Redis 的简介 2.Redis 下载 3.安装环境 4.编译安装 5.启动Redis 6.关闭Redis 7.注意事项 工作中一直在用 Redis,但是一直没有进行系统的总结,这个系列的 ...

  5. Redis数据类型简介(十分钟快速学习Redis)

    如何在ubuntu18.04上安装和保护redis 如何连接到Redis数据库 如何管理Redis数据库和Keys 如何在Redis中管理副本和客户端 如何在Redis中管理字符串 如何在Redis中 ...

  6. Redis的简介与安装(windows)

    1.简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串). list(链表).set(集合).zset(sorte ...

  7. Redis的简介与安装

    1.简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted ...

  8. redis(一)简介

    啥也不说百度各种简介 推荐一个博客灰常详细的介绍  nosqlfan  接下来发布redis+USE_TCMALLOC 的安装配置,博客好多坑,找一篇好文真心难啊.  redis+keepalived ...

  9. redis cluster简介和配置(3)

    前面我介绍了 redis sentinel,既然有了sentinel,为什么还要一个cluster呢?因为随着业务量的增加,不可避免要对redis进行扩容,扩容方式一般由2种:1. 垂直扩容 2. 水 ...

  10. Redis的简介

    Redis 简介 Redis 是一个高性能的key-value数据库.支持复杂的数据结构,支持持久化,支持主从集群,支持高可用,支持较大的value存储... Redis是一个nosql,非关系型数据 ...

随机推荐

  1. POJ - 1251A - Jungle Roads 利用最小生成树

    The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign aid money was s ...

  2. kali linux之免杀技术

    恶意软件: 病毒,木马.蠕虫,键盘记录,僵尸程序,流氓软件,勒索软件,广告程序 在用户非自愿的情况下安装 出于某种恶意的目的:控制,窃取,勒索,偷窥,推送,攻击 恶意程序最主要的防护手段:杀软 检测原 ...

  3. STR[#6]

    photo 小明在旅游的路上看到了一条美丽的河,河上有许多船只,有的船只向左航行,有的船只向右航行.小明希望拍下这一美丽的风景,并且把尽可能多的船只都完整地拍到一张照片中. 小明位于河的边上,并且可以 ...

  4. 洛谷P4705 玩游戏(生成函数+多项式运算)

    题面 传送门 题解 妈呀这辣鸡题目调了我整整三天--最后发现竟然是因为分治\(NTT\)之后的多项式长度不是\(2\)的幂导致把多项式的值存下来的时候发生了一些玄学错误--玄学到了我\(WA\)的点全 ...

  5. sql case 函数与详细说明

    下面是一个是用case函数来完成这个功能的例子 case具有两种格式.简单case函数和case搜索函数. --简单case函数 case sex         when '1' then '男'  ...

  6. MySQL使用UNIQUE实现数据不重复插入

    unique列在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ON DUPLICATE KEY UPDATE子句跳过INSERT.中断操 ...

  7. CDQZ Day3

    模拟题 day3出题人: liu_runda题目名称 摆渡 摆车 背包源程序文件名 boat.cpp ju.cpp pack.cpp输入文件名 boat.in ju.in pack.in输出文件名 b ...

  8. ZOJ - 3939 The Lucky Week(日期循环节+思维)

    Edward, the headmaster of the Marjar University, is very busy every day and always forgets the date. ...

  9. 基于MODBUS的CRC

    %ws   WCHAR wszName CRC原理 设编码前的原始信息多项式为P(x),P(x)的最高幂次加1等于k:生成多项式为G(x),G(x)的最高幂次等于r:CRC多项式为R(x):编码后的带 ...

  10. linux内核修炼之道

    华清远见·任桥伟   人民邮电 2010 内核不学,岂能理解?今天开始正式学习内核原理 linux 发行版本Mint. cat  /etc/issue     # sudo lsb_release - ...