21.9 redis介绍 21.10 redis安装 21.11 redis持久化 21.12 re

21.9 redis介绍
Redis和Memcached类似,也属于k-v数据存储
Redis官网redis.io, 当前最新稳定版4.0.1
支持更多value类型,除了和string外,还支持hash、lists(链表)、sets(集合)和sorted sets(有序集合)
redis使用了两种文件格式:全量数据(RDB)和增量请求(aof)。全量数据格式是把内存中的数据写入磁盘,便于下次读取文件进行加载。增量请求文件则是把内存中的数据序列化为操作请求,用于读取文件进行replay得到数据,这种类似于mysql binlog。
redis的存储分为内存存储、磁盘存储和log文件三部分
21.10 redis安装
下载最新稳定版
cd /usr/local/src/
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
cd redis-4.0.1
make && make install
cp redis.conf /etc/redis.conf
vim /etc/redis.conf //修改如下配置
daemonize yes
logfile "/var/log/redis.log"
dir /data/redis_data/
appendonly yes
mkdir /data/redis_data
sysctl vm.overcommit_memory=1
echo never > /sys/kernel/mm/transparent_hugepage/enabled
redis-server /etc/redis.conf


21.11 redis持久化
Redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)
RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上。
AOF,则是换了一个角度来实现持久化,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了。
其实RDB和AOF两种方式也可以同时使用,在这种情况下,如果redis重启的话,则会优先采用AOF方式来进行数据恢复,这是因为AOF方式的数据恢复完整度更高。
如果你没有数据持久化的需求,也完全可以关闭RDB和AOF方式,这样的话,redis将变成一个纯内存数据库,就像memcache一样。

21.12 redis数据类型


Redis数据类型-list?
list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等。操作中key理解为链表的名字。
使用 list 结构,我们可以轻松地实现最新消息排行等功能(比如新浪微博的 TimeLine )。list 的另一个应用就是消息队列,可以利用 list 的 push操作,将任务存在 list 中,然后工作线程再用pop操作将任务取出进行执行。
示例:

redis-cli

127.0.0.1:6379> LPUSH list1 "aminglinux"127.0.0.1:6379> LPUSH list1 "1 2 3"127.0.0.1:6379> LPUSH list1 "aaa bbb“
127.0.0.1:6379> LRANGE list1 0 -1
1) "aaa bbb"
2) "1 2 3"
3) "aminglinux“
127.0.0.1:6379> LPOP list1

Redis数据类型-set?
set是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作。操作中key理解为集合的名字。比如在微博应用中,可以将一个用户所有的关注人存在一个集合中,将其所有粉丝存在一个集合。因为 Redis 非常人性化的为集合提供了求交集、并集、差集等操作,那么就可以非常方便的实现如共同关注、共同喜好、二度好友等功能,对上面的所有集合操作,你还可以使用不同的命令选择将结果返回给客户端还是存集到一个新的集合中。
set示例
127.0.0.1:6379> SADD set1 a127.0.0.1:6379> SADD set1 b
127.0.0.1:6379> SADD set1 c
127.0.0.1:6379> SADD set1 d127.0.0.1:6379> SMEMBERS set1
1) "d"
2) "b"
3) "a"
4) "c"
127.0.0.1:6379> SREM set1 c//删除元素
127.0.0.1:6379> SADD set2 a 2 b
127.0.0.1:6379> SINTER set1 set2 //交集
127.0.0.1:6379> SUNION set1 set2 //并集
127.0.0.1:6379> SDIFF set1 set2 //差集

Redis数据类型-sort set
sorted set是有序集合,它比set多了一个权重参数score,使得集合中的元素能够按 score 进行有序排列,比如一个存储全班同学成绩的 Sorted Sets,其集合 value 可以是同学的学号,而 score 就可以是其考试得分,这样在数据插入集合的时候,就已经进行了天然的排序。
127.0.0.1:6379> ZADD set3 12 abc127.0.0.1:6379> ZADD set3 2 "cde 123"127.0.0.1:6379> ZADD set3 24 "123-aaa"127.0.0.1:6379> ZADD set3 4 "a123a"127.0.0.1:6379> ZRANGE set3 0 -1
1) "cde 123"
2) "a123a"
3) "abc"
4) "123-aaa"

倒序
127.0.0.1:6379> ZREVRANGE set3 0 -1
1) "123-aaa"
2) "abc"
3) "a123a"
4) "cde 123"

Redis数据类型-hash
在 Memcached 中,我们经常将一些结构化的信息打包成 hashmap,在客户端序列化后存储为一个字符串的值(一般是 JSON 格式),比如用户的昵称、年龄、性别、积分等。
示例
127.0.0.1:6379> hset hash1 name aming127.0.0.1:6379> hget hash1 name"aming"127.0.0.1:6379> hset hash1 age 30127.0.0.1:6379> hget hash1 age "30"
127.0.0.1:6379> hgetall hash11) "name"2) "aming"3) "age"4) "30"

原文地址:http://blog.51cto.com/13227377/2160523

时间: 2024-11-08 20:21:53

21.9 redis介绍 21.10 redis安装 21.11 redis持久化 21.12 re的相关文章

四周第一次课(1月2日) 4.10/lvm讲解 4.11/lvm讲解 4.12/lvm讲解 4.13 磁盘故障小案例

四周第一次课(1月2日)4.10/lvm讲解4.11/lvm讲解4.12/lvm讲解4.13 磁盘故障小案例 onnecting to 192.168.183.128:22...Connection established.To escape to local shell, press 'Ctrl+Alt+]'. Last login: Tue Jan 2 19:34:17 2018[[email protected] ~]# ip add1: lo: <LOOPBACK,UP,LOWER_UP

21.9 redis介绍;21.10 redis安装;21.11 redis持久化;21.12

21.9 redis介绍 1. Redis和Memcached类似,也属于k-v数据存储 2. Redis官网redis.io, 当前最新稳定版4.0.1 3. 支持更多value类型,除了和string外,还支持hash.lists(链表).sets(集合)和sorted sets(有序集合) 4. redis使用了两种文件格式:全量数据(RDB)和增量请求(aof).全量数据格式是把内存中的数据写入磁盘,便于下次读取文件进行加载.增量请求文件则是把内存中的数据序列化为操作请求,用于读取文件进

21.9-21.12 Redis介绍,安装,持久化介绍

21.09 Redis介绍  Redis和Memcached类似,也属于k-v数据存储 Redis官网redis.io, 当前最新稳定版4.0.1 支持更多value类型,除了和string外,还支持hash.lists(链表).sets(集合)和sorted sets(有序集合) redis使用了两种文件格式:全量数据(RDB)和增量请求(aof). 全量数据格式是把内存中的数据写入磁盘,便于下次读取文件进行加载. 增量请求文件则是把内存中的数据序列化为操作请求,用于读取文件进行replay得

21.1 nosql介绍 21.2 memrcached介绍 21.3 安装memcached 21

21.1NoSQL介绍 什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库.表.行.字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗费时间和资源,尤其是数据是需要从磁盘里去检索 NoSQL数据库存储原理非常简单(典型的数据类型为k-v),不存在繁杂的关系链,比如mysql查询的时候,需要找到对应的库.表(通常是多个表)以及字段. NoSQL数据可以存储在内存里,查询速度非常快 NoSQL在性能表现上虽然能优于关

Redis 介绍及编译安装——单机

1.Redis的介绍 Redis 开源的内存数据库,以Key-Value方式存储数据: Redis的特点: 1).Redis的数据完全存储在内存中,使用磁盘仅仅是为了持久化数据,解决重启服务器而导致数据丢失的问题: 2).相比其他Key-Value数据库,Redis有比较丰富的数据类型: 3).Redis可以将数据复制到任意数量的从服务器上. 2.Redis的优势 1).执行非常快速:每秒能执行大约11万集合,约81000多条记录: 2).丰富的数据类型:Redis支持大多数据开发人员熟悉的数据

redis系列:redis介绍与安装

前言 这个redis系列的文章将会记录博主学习redis的过程.基本上现在的互联网公司都会用到redis,所以学习这门技术于你于我都是有帮助的. 博主在写这个系列是用的是目前最新版本4.0.10,虚拟机装的是4.0.10,为了方便window也安装了(版本3.2.100).后续命令会采用命令行,jedis和spring集成jedis这三种方式进行操作. 在这片博文的开始,可以先试着问几个问题,带着问题看博文,或许能更有收获. 什么是redis? 为什么要使用redis? 如何搭建redis环境?

redis介绍、redis安装、redis持久化、redis数据类型

一:redis介绍 Redis和Memcached类似,也属于k-v数据存储Redis官网redis.io, 当前最新稳定版4.0.1支持更多value类型,除了和string外,还支持hash.lists(链表).sets(集合)和sorted sets(有序集合)redis使用了两种文件格式:全量数据(RDB)和增量请求(aof).全量数据格式是把内存中的数据写入磁盘,便于下次读取文件进行加载.增量请求文件则是把内存中的数据序列化为操作请求,用于读取文件进行replay得到数据,这种类似于m

安装Redis 4.0.10集群

一.安装Ruby和Remgem 1.安装rvm [Ruby Version Manager] 到网站 https://rvm.io/ 看看安装命令提示 a.[安装密钥服务器]执行 #gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB b.[安装rvm]执行 #\curl -sSL http

redis介绍和安装

redis介绍 redis是一个以key-value形式进行存储的系统. 和Memcached类似, 它支持存储的values类型相对更多, 包括字符串, 列表, 哈希散列表, 集合, 有序集合5种数据类型. 这些数据类型都支持push/pop, add/remove及取交集并集和差集以及更丰富的操作, 而这些操作都是原子性的. 在此基础上, redis支持各种不同方式的排序. 与memcached相同, 为了保证效率, 数据都是缓存在内存内的. 区别是redis会周期性的把更新的数据写入磁盘或