zoukankan      html  css  js  c++  java
  • 分布式缓存 Redis

    什么是nosql 及常见的nosql框架有哪些?

    NoSQL(not only sql),泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模(功能特别多)和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题

    关系型数据库和非关系型数据库的区别:有表结构的就是关系型数据库。

      redis的特点

    • 速度快
    • 写速度能达到:80000/S,读速度100000/秒,基于内存的。使用C语言编写。

    • 数据结构丰富
    • string字符串,hashkey-value,set(集合)zset(有序集合),list(列表)

    • 开发语言丰富

       

    • 主从复制
    • redis集群的基础就是主从复制,10G/s.

    • 数据持久化
    • memecached基于内存的nosqlnot only sql)数据库,不能够持久化。redis支持数据的持久化(AOF,到期时间,RDB)

    安装redis

    rpmredhat  package  manager

    步骤一:安装最新的redis,需要安装Remi的软件源   官网地址:http://rpms.famillecollet.com.

    yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

    步骤二:安装redis(默认安装最新版本)

    yum --enablerepo=remi install -y  redis

    步骤三:启动redis

     

    systemctl redis start        /*启动redis*/

    systemctl  redis status    /*查看redis状态*/

    systemctl  redis stop       /*停止redis*/

    步骤四:查看redis版本号

    redis-cli --version

    步骤五:设置redis开机自启

    systemctl enable redis.service

    默认yum安装之后,redis的配置文件在/etc/redis.conf

        vim redis.conf

                  daemonize  yes  // 222

    127.0.0.1  192.168.11.100  //69

    redis常用命令

    进入redis的命令行

    redis-cli -h 127.0.0.1 -p 6379  

    -h ip地址

    -p 端口号,默认是6379

    修改redis的配置文件,允许其他机器访问。

    修改/etc/redis.conf 61

    修改/etc/redis.conf222行,daemonize  yes  // 222

    redis的数据结构

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

    1) String(字符串)

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

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

    string类型是Redis最基本的数据类型,一个键最大能存储512MB。 

     set  key  value ex  seconds   (expire过期时间)

    2) Hash(哈希)

    Redis hash 是一个键值(key=>value)对集合。类似于java语言中的map

    Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象

    示例中的qy93hash是hash的key名称,classname为属性名,qy93为name属性值

    3) List(列表)

    Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。

    将aaa保存到list中,list的名称叫作mylist

    192.168.153.160:6379> rpush mylist aaa

    (integer) 1          /*插入成功*/

    192.168.153.160:6379> rpush mylist bbb

    (integer) 2

    获取list中下标为0的值

    192.168.153.160:6379> LINDEX mylist 0

    "aaa"

    192.168.153.160:6379> LINDEX mylist 1

    "bbb"

    192.168.153.160:6379> LINDEX mylist 2

    "ccc"

    192.168.153.160:6379> LINDEX mylist 3

    (nil)

    获取list中所有的值

    192.168.153.160:6379> LRANGE mylist 0 -1

    1) "aaa"

    2) "bbb"

    3) "ccc"

    192.168.153.160:6379> LRANGE mylist 0 2

    1) "aaa"

    2) "bbb"

    3) "ccc"

    192.168.153.160:6379> LINDEX mylist -1

    "ccc"

    LPUSH在list左边追加

    192.168.153.160:6379> LPUSH mylist ddd

    (integer) 4

    192.168.153.160:6379> LRANGE mylist 0 -1

    1) "ddd"

    2) "aaa"

    3) "bbb"

    4) "ccc"

    lpush 左侧添加  rpush右侧添加  lpop 左侧删除  rpop 右侧删除

    4) Set(集合)

    Redis的Set是string类型的无序集合

    set中添加值 sadd  “set的key”“set 的值”

    查看所有的值:smembers setName

    删除某个值:srem valuename

    获取集合中的元素个数:scard  setName

     

    5) zset(sorted set:有序集合)

    zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。

    不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

    zset的成员是唯一的,但分数(score)却可以重复。

    添加元素到集合,元素在集合中存在则更新对应score

    示例中的myzset为set的key名,0 到1000指的是score在0到1000之间的值

    6) 地理空间(geospatial

    http://news.cntrades.com/show-186844.html

    添加4个城市:

       geoadd china  116.41667 39.91667 bj 121.43333 34.50000 sh 117.20000 39.13333 tj  113.65000 34.76667 zz 114.06667 22.61667 sz

    返回两个城市的直线距离(默认单位为米,可以使用km)

       geodist china  zz sz

    返回113.65 34.76经纬度为中心,800公里之内的城市,滴滴打车

       georadius china 113.65 34.76  800 km

    返回指定城市的经纬度

       geopos china sz zz

  • 相关阅读:
    打造分布式爬虫
    vue入门-常用指令操作
    爬虫练习-爬取小说
    爬虫项目-爬取亚马逊商品信息
    爬虫框架_scrapy1
    CIE-LUV是什么颜色特征
    多目标跟踪baseline methods
    时间序列识别代码调试版本1
    拓扑空间1
    ps cs6破解
  • 原文地址:https://www.cnblogs.com/cwshuo/p/13393809.html
Copyright © 2011-2022 走看看