什么是Redis

什么是NoSQL

介绍Redis之前,先了解下NoSQL (Not noly SQL)不仅仅是SQL

属于非关系型数据库;Redis就属于非关系型数据库

传统的Mysql ,oracle ,sql server 等 都是关系型数据库

为什么需要NoSQL,主要应对以下问题,传统关系型数据库力不从心

  • High performance -高并发读写
  • Huge Storage-海量数据的高效率存储和访问
  • High Scalablility && High Availability 高可扩展性和高可用性

NoSQL的特点

易扩展

灵活的数据模型

大数据量,高性能

高可用

高性能键值对数据库,支持的键值数据类型

  • 字符串类型
  • 列表类型
  • 有序集合类型
  • 散列类型
  • 集合类型

Redis的应用场景

  • 缓存
  • 任务队列
  • 网站访问统计
  • 数据过期处理
  • 应用排行榜
  • 分布式集群架构中的session分离

安装Redis

第一步:安装gcc

gcc是用来编译c语言的,因为redis源码是c写的,所以需要gcc

yum install gcc-c++

第二步:wget方式,下载redis压缩包,并解压以及编译

下载:

wget http://download.redis.io/releases/redis-3.2.9.tar.gz

解压:

tar -zxvf redis-3.2.9.tar.gz

进入解压后的目录:

make

第三步:安装redis

make PREFIX=/usr/local/redis install

安装到/usr/local/redis

回到解压目录,

cp redis.conf /usr/local/redis/

第四步:启动和关闭redis服务

启动:redis里的redis-server命令

结束:Ctrl + C

或者:./bin/redis-cli shutdown

验证:ps -ef | grep -i redis

后台启动

编辑redis.conf文件



把no改成yes

使用指定配置文件启动:

 ./bin/redis-server ./redis.conf

Redis的基本使用

./bin/redis-cli,进入客户端

字符串类型

  • 存储:set key value
  • 获取:get key
    • 无值返回nil
  • 删除:del key

哈希类型 hash:

  • 存储:hset key field value
  • 获取:
    • 获取指定field:hget key field
    • 获取全部field:hgetall key
  • 删除:hdel key field

列表类型:可以添加一个元素到列表的头部或者尾部

  • 存储:

    • 将元素添加到列表左边:lpush key value1, value2, ......
    • 将元素添加到列表右边:rpush key value1, value2, ......

      获取:
  • 范围获取:lrange key start end(获取所有可以写start是0,end是-1)

    删除:
  • lpop:从左边弹出一个元素(删除最左边元素并返回)
  • rpop:从右边弹出一个元素

集合类型:

存储:sadd key value

获取:smembers key:获取set集合中所有元素

删除:srem key value:删除set集合中的某个元素

有序集合类型

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复

集合是通过哈希表实现的,所以添加、删除、查找的复杂度都是O(1)。

  • 存储:zadd key score value
  • 获取:
    • 获取所有:zrange key start end
  • 删除:zrem key value

通用命令:

  • 查询所有的键:keys * (*处其实可以添加正则表达式)
  • 获得value类型:type key
  • 删除指定key的value:del key

redis安装与基本使用的更多相关文章

  1. Redis安装测试(待完善)

    1 Redis安装 在网址http://redis.io/下载redis-3.2.3.tar.gz,解压. 进入解压目录 编译和安装,具体配置项可参考自带的README.md文件 make test ...

  2. Redis安装及实现session共享

    一.Redis介绍 1.redis是key-value的存储系统,属于非关系型数据库 2.特点:支持数据持久化,可以让数据在内存中保存到磁盘里(memcached:数据存在内存里,如果服务重启,数据会 ...

  3. windows 环境下的redis安装

    Redis安装 1.由于是练习,所以就在windows下安装的环境,并没有在LINUX服务器上装,但是知识点是一样的 安装流程: a.下载地址:https://github.com/MSOpenTec ...

  4. CentOS7— Redis安装(转和延续)

    Part I. Redis安装(转载部分) 一.安装 wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.t ...

  5. php redis 安装篇(windows 7)

    人人都说redis比memcached好,但是没有实际体验过,概念还是比较模糊,今天就先把redis安装好,后面的体验再分享,由于php已经有了很好的扩展库支持,所以redis安装非常方便,下面是wi ...

  6. linux下的redis安装以及php添加redis扩展

    一.redis的安装 win版本详见: 下面是linux版本的安装步骤: step1.下载 http://redis.io/download下载完后直接make然后make install,注意sud ...

  7. CentOS 6.6下Redis安装配置记录

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/120.html?1455855209 在先前的文章中介绍过redis,以下 ...

  8. Redis安装配置与Jedis访问数据库

    一.NOSQL概要 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库.NoSQL数据库的四大分类 键值(Key-Value)存储数据库 这一类数据 ...

  9. Redis总结(一)Redis安装

    最近项目中需要使用Redis,刚好这两天有时间,便总结记录一下Redis的安装,以及如何在.NET中使用Redis. Redis是一个用的比较广泛的Key/Value的内存数据库.目前新浪微博.Git ...

  10. Redis-cluster集群【第一篇】:redis安装及redis数据类型

    Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在 ...

随机推荐

  1. IndexedDB基本概念

    控制台 IndexedDB下为数据库 数据库下为表,表内容展现为主键值和其余值,其中其余值包括索引和其他任意字段,以对象形式表现 表下为索引字段表,用来展现拥有同一种索引字段的所有数据(有多少种索引就 ...

  2. Linux下用Bash语言实现简单排序的功能

    题目链接: 题目描述 利用指针,编写一个函数实现三个整数按由小到大的排序. 输入 三个整数 输出 由小到大输出成一行,每个数字后面跟一个空格 样例输入 2 3 1 样例输出 1 2 3 复习下Linu ...

  3. 字符串匹配算法--暴力匹配(Brute-Force-Match)C语言实现

    一.前言 暴力匹配(Brute-Force-Match)是字符串匹配算法里最基础的算法,虽然效率比较低,但胜在方便理解,在小规模数据或对时间无严格要求的情况下可以考虑. 二.代码 #include & ...

  4. 顶级Kagglers的心得和技巧

    这是一篇笔记,课程来自Coursera上的How to Win a Data Science Competition: Learn from Top Kagglers 本篇可以算是顶级Kaggler大 ...

  5. pandas包学习笔记

    目录 zip Importing & exporting data Plotting with pandas Visual exploratory data analysis 折线图 散点图 ...

  6. Centos7 入门几个操作

    http://www.wallcopper.com/linux/1650.html 创建文件软连接 ln -s 源路径 目标路径 查看软连接ls -il 服务操作:systemctl start fo ...

  7. s 贪心

    区间问题: 区间选点问题   右端点排序,now标记点. 数轴上有N个闭区间[Ai, Bi].取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个). 输入 第1行:一个整数N(1 ...

  8. JMeter CSRFToken认证登陆(正则提取器的使用)

    转自:http://blog.csdn.net/lion19930924/article/details/51189210 前几天用JMeter模拟登陆,但是这个网站开启了csrf认证,因此在post ...

  9. MYSQL之路之表

  10. CAD 批量提取点坐标,实现坐标的快速提取

    原创 CAD 批量提取点坐标,实现坐标的快速提取 2018-08-07 20:36:13 caohongji 阅读数 13678   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议 ...