《redis in action》-初识Redis

1.什么是Redis

       Redis 是一个速度非常快的非关系型数据库(non-relational database),它可以存储键与5种不同类型的值之间的映射,可以将存储在内存的键值对数据持久化到硬盘,可以使用复制特性来扩展读性能,还可以使用客户端分片来扩展写性能。

2.Redis与其他软件的区别


Redis与其他数据库的区别

3.为什么要使用Redis

1.对比Memcached,元素列表的CRUD比较

memcached使用APPEND命令来管理元素列表,用户可以将元素追加到一个字符串的末尾,并将那个字符串当作列表来使用。但删除这些元素时,memcached采用的办法是通过黑名单来隐藏列表里面的元素,从而避免对元素执行添加或删除等操作。

相反,redis的LIST和SET允许用户直接添加或者删除元素

2.存储长期的报告数据时,并将这些报告数据用作固定时间范围内的聚合数据场景

一般的做法是:先将各个行插入一个报告表里面,之后再通过扫描这些行来手机聚合数据,并根据收集到的聚合数据来更新聚合表中已有的那些行。插入行的速度非常快,因为只会在硬盘文件末尾进行写入动作。但是对表里面的行进行更新却很慢,因为不仅要磁盘随机读,还可能要磁盘随机写操作。

Redis就可以通过INCR命令及其变种来计算聚合数据,并且因为Redis将数据存储在内存里,而且发送给Redis的命令请求并不需要经过典型查询分析器或者查询优化器进行处理,所以Redis存储的数据执行随机写的速度总是非常迅速的。

4.Redis的安装(linux系统)

安装redis需要c语言的编译环境。如果没有gcc需要在线安装。yum install gcc-c++

安装步骤:

第一步:redis的源码包上传到linux系统。

第二步:解压缩redis。

第三步:编译。进入redis源码目录。make

第四步:安装。make install PREFIX=/usr/local/redis

PREFIX参数指定redis的安装目录。一般软件安装到/usr目录下。

连接redis

redis的启动:

前端启动:在redis的安装目录下直接启动redis-server

[root@localhost bin]# ./redis-server

后台启动:

把/root/redis-3.0.0/redis.conf复制到/usr/local/redis/bin目录下

[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis/bin/

修改上面复制的redis.conf:

[root@localhost redis-3.0.0]# vi redis.conf

#启动redis

[root@localhost bin]# ./redis-server redis.conf

查看redis进程:

[root@localhost bin]# ps aux|grep redis

root      5190  0.1  0.3  33936  1712 ?        Ssl  18:23   0:00 ./redis-server *:6379   

root      5196  0.0  0.1   4356   728 pts/0    S+   18:24   0:00 grep redis

[root@localhost bin]#

连接和关闭连接redis:

使用Redis-cli进行连接:

[root@localhost bin]# ./redis-cli

默认连接localhost运行在6379端口的redis服务。

[root@localhost bin]# ./redis-cli -h 192.168.25.153 -p 6379

-h:连接的服务器的地址

-p:服务的端口号

关闭redis:

[root@localhost bin]# ./redis-cli shutdown


5.Redis数据类型的用法

String:

常用命令:

GET:获取存储在给定键中的值

SET:设置存储在给定键中的值

DEL:删除存储在给定键中的值

String

LIST:

RPUSH:将给定值推入列表的右端

LRANGE:获取列表在给定范围上的所有值

LINDEX:获取列表在给定位置上的单个元素

LPOP:从列表的左端弹出一个值,并返回被弹出的值

LIST

SET:

SADD:将给定元素添加到集合

SMEMBERS:返回集合包含的所有元素

SISMEMBER:检查给定元素是否存在于集合中

SREM:如果给定的uansu存入于集合中,那么移除这个元素

SET

HASH:

HSET:在散列里面关联起给定的键值对

HGET:获取指定散列键的值

HGETALL : 获取散列包含的所有键值对

HDEL:如果给定键存在于散列里面,那么移除这个键

hash

ZSET:

ZADD:将一个带有给定分数的成员添加到有序集合中

ZRANGE:根据元素在有序排列中所处的位置,从有序集合里面获取多个元素

ZRANGEBYSCORE : 获取有序集合在给定分值范围内的所有元素

ZREM:如果给定成员存在于有序集合,那么移除这个成员

ZSET
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容

  • 1 Redis介绍1.1 什么是NoSql为了解决高并发、高可扩展、高可用、大数据存储问题而产生的数据库解决方...
    克鲁德李阅读 5,291评论 0 36
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,744评论 0 10
  • NOSQL类型简介键值对:会使用到一个哈希表,表中有一个特定的键和一个指针指向特定的数据,如redis,volde...
    MicoCube阅读 3,980评论 2 27
  • redis是一个以key-value存储的非关系型数据库。有五种数据类型,string、hashes、list、s...
    林ze宏阅读 991评论 0 0
  • 一、Redis基础 1.概述 Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的W...
    郑元吉阅读 300评论 0 0