什么是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. Unable to open debugger port (127.0.0.1:13249): java.net.BindException "Address already in use: JVM_Bind"

    这个问题比较简单一点,Tomcat的端口被占用了,我使用的是IDEA里的一个热部署插件JReble,更新了IDEA之后就发现端口被占用了,可能我电脑没有重启过吧, 一直被占用着,所以解决方法就是更换一 ...

  2. Milking Time POJ - 3616 dp 感觉像背包

    #include<iostream> #include<algorithm> #include<cstring> #include<cstdio> us ...

  3. 洛谷p1980 计数问题

    题目描述 试计算在区间 111 到 nn n的所有整数中,数字x(0≤x≤9) x(0 ≤ x ≤ 9)x(0≤x≤9)共出现了多少次?例如,在 111到11 11 11中,即在 1,2,3,4,5, ...

  4. sap gui中打断点,进入不了断点

    1: 当abap development tool 打开时,会影响sap gui中的断点进入. 2: 需要sap gui和abap development tool  都关闭,重新进入sap gui打 ...

  5. [ZJOI2008] 生日聚会 - dp

    共有\(n\)个男孩与\(m\)个女孩打算坐成一排.对于任意连续的一段,男孩与女孩的数目之差不超过 \(k\).求方案数. \(n,m \leq 150, k \leq 20\) Solution 设 ...

  6. [CF1216C] White Sheet - 离散化,模拟

    虽然分类讨论应该是比较推崇的解法,但是我就是喜欢暴力 #include <bits/stdc++.h> using namespace std; #define int long long ...

  7. 利用Master库spt_values表 连续数字

    SELECT CONVERT ( ), dateadd(d, number, GETDATE()), ) AS every_time FROM master..spt_values n WHERE n ...

  8. phpstorm格式化数组

    如果我们想要的这样的数组格式的话,可以设置 <?php $arr = array["a" => 0, "b" => 1, "c&qu ...

  9. mybatis-plus - buildSqlSessionFactory()

    一. buildSqlSessionFactory() mybatis-plus 同样的是调用  factory.getObject() 方法来进行 SqlSessionFactory 创建的. 然后 ...

  10. HTML下拉请求列表标签

    select下拉请求列表 option选择项(内容) selected默认值