zoukankan      html  css  js  c++  java
  • redis

    1、redis概述
    redis是一种nosql数据库他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他
    比memcached支持更多的数据结构( string ,1ist列表[队列和栈] , set[集合],sorted set[有序集合] , hash(hash表) )。相关参考文
    档: htp://redisdc.com/index.html


    2、Redis使用场景
    1.登录会话存储,存储在redis中,与memcached相比,数据不会丢失。
    2.排行版/计数器:比如一些秀场类的项目,经常会有一些前多少名的主播排名。还有一些文章 阅读量的技术,或者新浪微博的点赞
    数等。
    3.作为消息队列:比如celery就是使用redis作为中间人。
    4.当前在线人数:还是之前的秀场例子,会显示当前系统有多少在线人数。
    5.一些常用的数据缓存:比如我们的BBS论坛,板块不会经常变化的,但是每次访问首页都要从mysql中获职,可以在redis 中
    缓存起来,不用每次请求数据库。
    6.把前200篇文章缓存或者评论缓存: -般用户浏览网站,只会浏览前面一部分文章或者评论 ,那么可以把前面200篇文章和对应的
    评论缓存起来。用户访问超过的,就访问数据库,并且以后文章超过200篇,则把之前的文章删除。
    7.好友关系:微博的好友关系使用redis 实现。
    8.发布和订阅功能:可以用来做聊天软件。


    3、Redis在Linux系统上的安装与启动
    1、安装:yum -y install redis
    2 、启动:service redis start
    3、停止:service redis stop
    4、连上Redis:redis-cli -p 6379 -h 127.0.0.1


    4、Redis的字符串基本操作
    1、设置一个值:set username dcp(当设置的值中间有空格时,值必须要加双引号)
    2、或者一个值:get username
    3、删除一个值:del username
    4、创建时设置过期时间:set username dcp EX 10
    5、查看过期时间:ttl username
    6、创建后设置过期时间:expire username 10
    7、查看所有key :key*


    5、Redis的列表操作
    1、在列表左边添加元素:
    lpush key value
    将值value 插入到列表key的表头。如果key不存在,一个空列表会被创建并执行lpush操作。当key存在但不是列表
    型时,将返回一个错误。
    2、在列表右边添加元素:
    rpush key value
    将值value插入到列表key的表尾。如果key不存在,一个空列表会被创建并执行RPUSH操作。当key存在但不是列表类型时,
    返回一个错误。
    3、查看列表中的元素:
    Irange key start stop
    返回列表key中指定区间内的元素,区间以偏移量start 和stop指定如果要左边的第-一个到最后的一个1range key 0
    -1。
    4、移除列表中的元素
    ①、移除并返回列表key的头元素
    lpop key
    ②、移除并返回列表的尾元素
    rpop key
    ③、移除并返回列表key的中间元素
    lrem key count value
    5、指定返回第几个元素:
    lindex key index(index为下标值)
    将返回key这个列表中,索引为index 的这个元素。
    6、获取列表中的元素个数:
    llen key
    llen languages
    7、删除指定的元素:
    Irem key count(个数) value(要删的值)
    如:
    Irem languages 1 www.baidu.com
    根据参数count的值,移除列表中与参数value相等的元素。count 的值可以是以下几种:
    count> 0: 从表头开始向表尾搜索,移除与value相等的元素,数量为count。
    count< 0:从表尾开始向表头搜索,移除与value相等的元素,数量为count的绝对值。
    count= 0:移除表中所有与value 相等的值。


    6、Redis的集合操作
    1、添加元素:
    sadd set valuel value2....
    如:
    sadd team xiaotuo datuo
    2、查看元素:
    snembeers set

    snembers team
    3、移除元素:
    srem set member...
    如:
    srem team xiaotuo datuo
    4、查看集合中的元素个数:
    scard set
    如:
    scard teanl
    5、获取多个集合的交集:
    sinter set1 set2
    如:
    sinter teaml team2
    6、获取多个集合的并集:
    sunion set1 set2
    如:
    sunion teaml team2
    7、获取多个集合的差集:
    sdiff set1 set2
    如:
    sdiff teanl team2


    7、Redis的哈希操作
    1、添加一个新值:
    hset key field value
    如:
    hset website baidu baidu. com
    将哈希表key中的域field的值设为value 。
    如果key不存在,一个新的哈希表被创建并进行HSET 操作。如果域field 已经存在于哈希表中,旧值将被覆盖。
    2、获取哈希中的field 对应的值:
    hget key field
    如:
    hget website baidu
    3、删除field中的某个field :
    hdel key field
    如:
    hdel website baidu
    4、获取某个哈希中所有的field 和value :
    hgeta11 key
    如:
    hgetall website
    5、获取某个哈希中所有的field :
    hkeys key
    如:
    hkeys website
    6、获取某个哈希中所有的值:
    hvals key
    如:
    hvals website
    7、判断哈希中是否存在某个field :
    hexits key field
    如:
    hexits website baidu
    8、获取哈希中总共的键值对:
    hlen field
    如:
    hlen website

    8、Redis的事务操作
    1、事务操作: Redis事务可以-次执行多个命令,事务具有以下特征:
    ①隔离操作:事务中的所有命令都会序列化、按顺序地执行,不会被其他命令打扰。
    ②原子操作:事务中的命令要么全部被执行,要么全部都不执行。
    ③开启一个事务:
    multi
    以后地行的所右余企,凯在 诗入市各中村行的。
    ④执行事务:
    exec
    会将在multi和exec中的操作- -并提交。
    ⑤取消事务:
    discard
    会将multi后的所有命令取消。
    ⑥监视一个或者多个key :
    watch key...
    监视一个(或多个)key, 如果在事务执行之前这个(或这些) key被其他命令所改动,那么事务将被打断
    ⑦取消所有key的监视:
    unwatch

  • 相关阅读:
    SQL查询语句精华使用简要
    配置文件中映射元素详解
    从软件工程师到IT猎头:我的一点经历和感触
    配置文件中映射元素详解
    SQL查询语句精华使用简要
    从软件工程师到IT猎头:我的一点经历和感触
    谈谈对软件项目成员的业绩考核
    谈谈对软件项目成员的业绩考核
    五十条经典的做人哲学
    Ubuntu 12.10使用心得
  • 原文地址:https://www.cnblogs.com/dcpb/p/13745281.html
Copyright © 2011-2022 走看看