1. Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

2. Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

3.Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)

4. CAP理论就是说在分布式存储系统中,最多只能实现上面的亮点,而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须要实现的。

  C:强一致性:在分布式系统中的所有数据备份,在同一时刻是否同样的值。

  A:高可用性:在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。

  P:分布式容忍性:以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。

  分布式架构的时候必须做出取舍,以上三者只能同时实现两者。

  CA:传统Oracle数据库

  AP:大多数网站架构的选择

  CP:redis、Mongdb

5. BASE就是为了解决关系数据库强一致性引起的问题而引起的可用性降低而提出的解决方案。

  BASE其实就是下面三个术语的缩写:

  基本可用(Basically Available)

  软状态(Soft stable)

  最终一致(Eventually consistent)

  BASE的思想是通过让系统放松对某一时刻数据一致性的要求来换取系统整体伸缩性和性能上的改观。为什么这么说呢,原因就在于大型系统往往由于地域分布和极高性能的要求,不可能采用分布式事务来完成这些指标,要想获得这些指标,我们必须用另外一种,这里的BASE就是解决这个问题的办法。

6. reids:REmote DIctionary Server(远程字典服务器)

7. centos下安装reids:

  • 下载:wget wget http://download.redis.io/releases/redis-5.0.0.tar.gz
  • 解压
  • 然后复制到到/opt目录下
  • 进入/opt/redis-5.0.0
  • 运行:make

若是出现以下错误,则则说明未安装gcc,使用命令安装gcc:yum install gcc

安装好后继续执行make,若出现如下提示,则将make改为make MALLOC=libc,推测是因为编译库的问题。

  • 安装编译后的文件:make install,redis可执行文件将被复制到/usr/local/bin/,但没有配置,手动复制配置:cp redis.conf /myredis 目录中(需要先新建myredis目录)
  • 更改redis.conf文件中daemonize为yes 后台启动

9.启动redis:

redis-server /myredis/redis.conf

redis-cli -p -6379

10. 在centos中查看redis有没有在后台运行:ps -ef|grep redis

11. 关闭redis服务:

SHUTDOWN

然后exit返回linux命令行

12. redis系统自带16个数据库,切换数据库用角标:0-15

13. 切换数据库:select + 角标

例:切换到7号数据库:select 6

14. 查看当前数据库所有数据:keys *。相当于关系型数据库的select * 。

15. 查看当前数据库数据量:DBSIZE

16. 清空当前数据库:FLUSHDB

清空所有数据库:FLUSHALL

17.redis的五大数据类型:

  • String(字符串)
  • Hash(哈希,类似于Java中的Map)
  • List(列表)
  • Set(集合)
  • Zset(sorted set:有序集合)

18. string是最基本的类型,可以理解成与Memcached一模一样的类型,一个key对应一个value。

string类型是一个二进制安全类型,意思是redis的string可以包含任何数据,比如jpg图片或者序列话的对象

string类型是redis最基本的数据类型,一个redis中字符串value最多可以是512M。

19. redis中Hash(哈希)是一个键值对集合。

redis中hash是string类型的field和value的映射表,hash特别适合与存储对象。

20. list(列表):redis列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素在列表的头部(左边)或者尾部(右边)。它的底层实际是一个链表。

21. set(集合):string类型的无序集合不允许元素重复,,通过hashTable实现的。

22. zset(有序集合):zset和set一样也是string类型元素集合,都不允许元素重复,不懂的是zset每个元素都会关联一个都变了类型的分数,扔地上真是通过分数来为集合中的每个成员进行从小到大的排序,zset成员中每一个元素都是唯一的,但是分数(score)是可重复的。

一、redis系列之基础知识与centos下环境搭建的更多相关文章

  1. Redis的简单介绍及在Windows下环境搭建

    简单介绍 1,Redis是什么 最直接的还是看官方的定义吧. Redis is an open source (BSD licensed), in-memory data structure stor ...

  2. Redis入门很简单之一【简介与环境搭建】

    Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件  [Redis简介] <一>. NoSQL ...

  3. Android基础-系统架构分析,环境搭建,下载Android Studio,AndroidDevTools,Git使用教程,Github入门,界面设计介绍

    系统架构分析 Android体系结构 安卓结构有四大层,五个部分,Android分四层为: 应用层(Applications),应用框架层(Application Framework),系统运行层(L ...

  4. 【个人笔记】003-PHP基础-01-PHP快速入门-03-PHP环境搭建

    003-PHP基础-01-PHP快速入门 03-PHP环境搭建 1.客户端(浏览器) IE FireFox CHROME Opera Safari 2.服务器 是运行网站的基本 是放置程序代码的地方 ...

  5. vmware安装CentOS开发环境搭建

    CentOS开发环境搭建 一.安装系统 新建虚拟机   2.选择“自定义(高级)”,并点击[下一步] 3.选择虚拟机硬件兼容性,并点击[下一步] 4.选择“稍后安装操作系统”,并点击[下一步] 5.选 ...

  6. MyBatis基础入门《一》环境搭建

    MyBatis基础入门<一>环境搭建 参考资料链接:http://www.mybatis.org/mybatis-3/ 使用maven构建项目,STS开发工具,jdk1.8 项目结构: m ...

  7. Redis学习(一):CentOS下redis安装和部署

    1.基础知识  redis是用C语言开发的一个开源的高性能键值对(key-value)数据库.它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下字符串.列表 ...

  8. redis系列之4----redis高级应用(集群搭建、集群分区原理、集群操作)

    文章主目录 Redis集群简介 Redis集群搭建 Redis集群分区原理 集群操作 参考文档 本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 ...

  9. Redis主从配置和哨兵监控配置——服务器端环境搭建

    一:介绍 公司用到的redis框架,主要分为cluster的缓存集群和sentinel中的哨兵主从.这种的选用方式一般需要更具业务场景来做区分,两种框架的配置图为:右图为哨兵主从框架和cliuster ...

随机推荐

  1. 【CodeForces】961 F. k-substrings 字符串哈希+二分

    [题目]F. k-substrings [题意]给定长度为n的串S,对于S的每个k-子串$s_ks_{k+1}...s_{n-k+1},k\in[1,\left \lceil \frac{n}{2} ...

  2. [NOIP2015提高&洛谷P2678]跳石头 题解(二分答案)

    [NOIP2015提高&洛谷P2678]跳石头 Description 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之 ...

  3. Python文件操作-文件的增删改查

    需求:对文件进行增删改查 由于时间原因,本次代码没有增加任何注释,如有疑问,请联系编辑者:闫龙 其实我也是醉了,看着这些个代码,我脑袋也特么大了,没办法,大神说了,不让用新知识,只可以使用学过的,所以 ...

  4. Kissy && Require

    KISSY add(name?,factory?,deps)  函数挂载在全局对象KISSY上,用来定义模块.   一个 JS 文件包含一个add()(这时路径+文件名可以用作模块名),如果一个文件包 ...

  5. 【Tomcat】Tomcat配置与优化(内存、并发、管理)【自己配置】

    一.JVM内存配置优化 主要通过以下的几个jvm参数来设置堆内存的: -Xmx512m 最大总堆内存,一般设置为物理内存的1/4 -Xms512m 初始总堆内存,一般将它设置的和最大堆内存一样大,这样 ...

  6. python的新特性

    http://www.jb51.net/article/67699.htm Python中用format函数格式化字符串的用法:http://www.jb51.net/article/63672.ht ...

  7. 【原创】Linux环境下的图形系统和AMD R600显卡编程(1)——Linux环境下的图形系统简介

    Linux/Unix环境下最早的图形系统是Xorg图形系统,Xorg图形系统通过扩展的方式以适应显卡和桌面图形发展的需要,然而随着软硬件的发展,特别是嵌入式系统的发展,Xorg显得庞大而落后.开源社区 ...

  8. Laravel 5.5 迁移报错:General error: 1215 Cannot add foreign key constraint

    问题 之前一直用的 Laravel 5.4,数据库也是直接写 sql 的,感觉可定制性更强,顺便锻炼下 sql.这次改用了 Laravel 5.5,索性用迁移建库试试,结果报错如下: SQLSTATE ...

  9. Mysql_Learning_Notes_mysql系统结构_2

    Mysql_Learning_Notes_mysql系统结构_2 三层体系结构,启动方式,日志类型及解析方法,mysql 升级 连接层 通信协议处理\线程处理\账号认证(用户名和密码认证)\安全检查等 ...

  10. mysql -> 事务&事务锁_09

    事务的特性 redo undo 锁的隔离级别