为了账号安全,请及时绑定邮箱和手机立即绑定
  • 下载地址官网 https://redis.io/download 安装准备:(1)VMware Workation虚拟机(2)Linux(CentOS)系统(3)SecureCRT(Xshell也行) 安装过程: (1)安装编译器:yum install gcc-c++(需要先安装C++编译器,redis 使用c++写的) (2)下载Redis源码并上传到服务器 (3)解压Redis压缩包:tar -zxvf *redis* (4)进入Redis目录进行编译:make (2/3/4步)或者直接在Linux上($符不用输入) $ wget http://download.redis.io/releases/redis-3.2.9.tar.gz(下载) $ tar xzf redis-3.2.9.tar.gz(解压) $ cd redis-3.2.9 $ make(编译) 编译后是二进制文件仅在目录中 src 可用。运行Redis: 要想更好的使用还需 (5)安装Redis:make PREFIX=/user/local/redis install (6)将redis.conf拷贝到Redis安装目录:cp redis.conf /user/local/redis (7)进入安装目录,更改redis.conf文件:vim redis.conf --> daemonize no 改为 yes(之后可以后台模式运行)(vi 下按i 进行编辑 按esc后shift+zz(或者直接l俩大写Z),或者:wq 保存并退出) (8)启动redis后端模式:./bin/redis-server ./redis.conf (9)终止redis的操作 : ./bin/redis-cli shutdown 上述命令输入时遇到错误比如-bash: wget: command not found 是你电脑上没装这个功能,百度装一下就好了 这个问题 : yum -y install wget 就OK了
    查看全部
    13 采集 收起 来源:03-Redis的安装

    2018-03-22

  • 常用存储类型(Hash):每个可存4294967295个键值对 命令 (1)存:hset 名称 键 值;多存:hmset 名称 键 值 键 值 ... (2)取:hget 名称 键;多取:hmget 名称 键 键 ... (3)取全:hgetall 名称 (4)删除:hdel 名称 键... (5)全删:del 名称 (6)增指定值:hincrby 名称 键 [integer](一定是整数) (7)判断存在:hexists 名称 键 (8)键值对数量:hlen 名称 (9)取所有键:hkeys 名称;取所有值:hvals 名称
    查看全部
  • wget http://download.redis.io/releases/redis-3.0.0.tar.gz 下载

    tar -vxzf redis-3.0.0.tar.gz 解压

    cd redis-3.0.0

    make 编译

    make PREFIX=/usr/local/redis/ install 安装

    cp redis.conf /usr/local/redis 复制文件

    cd bin

    ./redis-server 前端启动

    vim redis.conf 后端启动 wq保存

    daemonize no改为daemonize yes

    ./bin/redis-server ./redis.conf 启动

    ps -ef | grep -i redis 6379端口

    ./bin/redis-cli shutdown 停止

    ./bin/redis-cli 客户端

    ping 连接测试 pong

    set name imooc 保存 name(key)

    get name 获得

    keys * 获得全部

    del name 删除

    redis 的五种数据类型

    字符串String

    哈希hash

    字符串列表list

    字符串集合set,不可重复,4294个

    有序字符串集合sorted set

    key的长度,和规范,单线程


    String

    incr num 将num的值加一如果不存在,先初始化后加一

    decr num 递减

    incrby num 5 加5

    decrby num 6 减3

    append num 5 追加字符串


    hash

    hset myhash username jack hash键值对的形式加数据

    hmset myhash username root age 21 多个数据录入

    hget myhash username获得

    hmget myhash username age获得多个

    hgetall myhash 获得所有

    hdel myhash2 username age删除

    del myhash2删除集合

    hincrby myhash age 5加五

    hexists myhash username 判断存在否返回 0,1

    hlen myhash 长度

    hkeys myhash 所有key

    hvals myhash 所有value


    list

    arraylist linkedlist

    lpush mylist a b c 左端添加

    rpush mylist 1 2 3 右端添加

    lrange mylist 0 5 分段查看 0 -2也可以

    lpop mylist 弹出左边

    rpop mylist 淡出右边

    lpushx mylist x 向mylist添加,如果mylist不存在不添加

    lrem mylist 2 3 删除两个3, -2 3 从尾部删除2个三,0 2 删除所有的2

    lset mylist 0 2指定位置添加

    linsert mylist defore b 11指定元素位置前添加

    linsert mylist after b 11指定元素位置后添加

    rpoplpush mylist mylist2将mylist的元素弹出一个加到mylist2(消息队列)


    set(记录ip ,记录某个商品的购买记录,)

    sadd myset a b c添加

    srem myset a b 删除

    smembers myset 查看

    sismember myset a 查看是否存在

    adiff myset1 myset2 查看差集

    sinter myset1 myset2 查看交集

    sunion myset1 myset2 查看并集

    scard myset 查看长度

    srandmenber myset 随机返回一个数

    sdiffstore myset1 myset2 myset1 将1和2相差的值加到1

    sinterstore myset1 myset2 myset1 将1和2交集的值加到1

    sunionstore myset1 myset2 myset1 将1和2并集的值加到1


    sorted-set有序,分数排序 游戏积分排名,微博热点,索引数据

    zadd mysort 70 zz 80 ls 90 ww 添加

    zscore mysort zs 获得分数

    zcard mysore 获得数量

    zrem mysort tom ww 删除

    zrange mysort 0 -1 withsores 查看数据,withsores带不带分数

    zrevange mysore 0 -1 withsores 降序

    zremrangebyrank mysort 0 4按照范围删除

    zremrangebyscore mysort 80 100按照分数范围删除

    zrangebyscore mysore 0 100 withsores limit 0 2查看指定范围的数据切带分数和limit

    zincrby mysort 3 ls给指定对象分数加3

    zcount mysort 80 90 分数段的数量


    通用操作

    key * 获得所有

    key my?查看my匹配的key

    del my1 删除

    exists my1 判断是否存在

    get company 获取

    rename company newcompany 重命名

    expire newpany 1000 过期时间1000秒

    ttl newcompany查看过期时间

    type mylist查看类型


    特性

    多数据库,最多16个数据库

    select 1(0到15)连接1号数据库

    move myset 1移动myset到1号数据库

    事务

    multi exec discard

    multi开启

    exec提交

    discard回滚

    持久化

    RDB:指定时间间隔,将内存数据写入硬盘

    AOF:日志记录所有的操作

    无持久化:缓存


    查看全部
  • Redis持久化 数据从内存同步到硬盘 两种持久化方式: RDB方式 AOF方式 持久化使用的方式: 1.RDB方式: 默认支持,在指定的时间间隔内,将内存中的数据集快照写入到磁盘 2.AOF方式: 日志的形式记录服务器处理的每一个操作,服务器启动之初,读取文件,重新构建数据库 3.无持久化 通过配置继用Redis持久化功能,Redis缓存机制 4.同时使用RDB和AOF
    查看全部
  • 概述: 元素插入 链表表头或结尾插入:高效,中间:低 存储list: 1.ArrayList使用数组方式:使用索引查询-块,新增删除时涉及位移操作-慢 2.LinkedList使用双向链接方式:每个元素记录前后元素指针 3.双向链表增加数据 4.双向链表删除数据 存储list常用命令: 1.两端添加:lpush、rpush lpush list 1 2 3 #从左侧往list表中插入1 2 3 rpush list a b c #从右侧忘list表中插入a b c 2.查看列表:lrange lrange list 0 -1 #从头到尾查看 lrange list 0 5 #从开始到第5个查看 3.两端弹出:lpop、rpop lpop list #从左边弹出第一个数 rpop list #从尾部弹出第一个数 4.获取列表元素个数:llen llen list #查看元素个数 5.扩展命令:lpushx、rpushx、lrem、lset、rpoplppush lpushx list x #插入x到list表的开头 rpushx list y #插入y到list表的尾部 lrem list 2 3 #从头到尾删除2个3 lrem list -2 1 #从尾到头删除2个1 lrem list 0 2 #删除所有2 lset list 3 mmm #在list表第3个角标设置mmm linset list before a yy #在list表中a之前插入yy linset list after b xx #在list表中b之后插入xx rpoplpush list1 list2 #将list1表的开头压入到list2表的结尾
    查看全部
  • AOF 优势: 1.同步: a.每秒同步:异步完成,效率高,一旦系统宕机,修改的数据丢失 b.每修改同步:同步持久化,每分钟发生的变化记录到磁盘中,效率低,安全 c.不同步 2.日志写入操作追加模式append a.系统宕机,不影响存在的内容 b.写入一半数据,若系统崩溃,下次启动redis,redis-check-aof工具解决数据一致性 3.如果日志过大,自动重写机制,修改的数据写入到到磁盘文件,创建新文件,记录产生的修改命令,重写切换时,保证数据安全 4.格式清晰的日志文件,完成数据的重建 劣势: 1.对于相同数据文件,相比RDB,AOF文件较大 2.效率低 配置: vim redis.conf 默认: appendonly no #AOF方式默认关闭 appendfilename appendonly.aof #配置文件 #appendfsync always #每修改一次,同步到磁盘上 appendsync everysec 每秒同步到磁盘一次 #appensync no 不同步 实践打开AOF: appendonly yes appendfsync always 终端2:先断开redis ./bin/redis-cli shutdown 启动redis: ./bin/redis-server ./redis.conf 终端1:set name 100 终端2:产生appendonly.aof文件 终端1:flushall 清空数据库 终端2: ./bin/redis-cli shutdown vim appendonly.aof 删除flushall ./bin/redis-server ./redis.conf ./bin/redis-cli keys * 数据还原
    查看全部
  • 存储Sorted-Set 1.Sorted-Set和Set的区别 sorted-set:每个成员都有一个分数与之关联,成员唯一,可以对应多个分数 2.Sorted-Set中的成员在集合中的位置是有序的 存储Sorted-Set常用命令: 1.添加元素:zadd zadd sort 10 a 20 b 30 c #a的分数是10、b的分数是20、c的分数是30 2.获得元素:zscore获得分数、zcard获得成员数量 zscore sort a #获得a的分数 3.删除元素:zrem、zremrangebyrank按照排名范围删除、zremrangebyscore按照分数范围删除 zrem sort a b #删除成员a、b zremrangebyrank sort 0 4 #删除排名0-4的成员 zremrangebyscore sort 10 30 #删除分数10-30的成员 4.范围查询:zrange zrange sort 0 -1 #所有成员 zrange sort 0 -1 withscores #查询成员及分数,从小到大 zrevrange sort 0 -1 withscores #从大到小 5.扩展命令: zrangebyscore sort 0 100 withscores #显示0-100分数的成员 zrangebyscore sort 0 100 withscores limit 0 2 #显示0-100分数的成员的前两名 zincrby sort 10 c #给c加上10 zcount sort 80 100 # 显示80-100分数的成员个数 Sorted-Set使用场景: 如大型在线游戏积分排行榜 构建索引数据
    查看全部
  • Redis数据结构(Set):List允许出现重复数据,Set不允许出现重复数据;Set最大元素数量是4294967295 命令: (1)存:sadd 列名 [值...] (2)删:srem 列名 [值...] (3)查全:smembers 列名 (4)查是否存在:sismember 列名 值,1表示存在,0表示不存在 (5)差集:sdiff 列名1 列名2 (与顺序有关) (6)交集:sinter 列名1 列名2 (7)并集:sunion 列名1 列名2 (8)查数量:scard 列名 (9)随机查:srandmember 列名 (10)将差集存到新集合中:sdiffstore 新列名 列名1 列名2 (11)将交集存到新集合中:sinterstore 新列名 列名1 列名2 (12)将并集存到新集合中:sunionstore 新列名 列名1 列名2
    查看全部
  • 给数据库中某个属性赋值 set 属性名 值 get 得到某个属性的值 getset 属性 属性值 先得到再设置 incr 属性 如果属性不存在 默认为0在加一 decr 属性 如果属性不存在 默认为0再减一 incrby 属性名 加数字 设置一次加几 decrby 属性名 加数字 设置一次减几 append 属性 加字符串 在原来的属性后面追加字符串 返回值是整个字符串的长度
    查看全部
  • RDB 优势: 1.数据库只包含一个文件,通过文件备份策略,定期配置,恢复系统灾难 2.压缩文件转移到其他介质上 3.性能最大化,redis开始持久化时,分叉出进程,由子进程完成持久化的工作 ,避免服务器进程执行I/O操作,启动效率高 劣势: 1.无法高可用:系统一定在定时持久化之前宕机,数据还没写入,数据已经丢失 2.通过fock分叉子进程完成工作,数据集大的时候,服务器需要停止几百毫秒甚至1秒 配置: cd /usr/local/redis vim redis.conf 默认: save 900 1 #每900秒至少1个key变化,持久化一次,到内存一个快照 save 300 10 #每300秒至少10个key变化,往硬盘写一次 save 60 10000 #每60秒至少10000个key变化,写一次 dbfilename dump.rdb #数据的文件名 dir ./ #保存的路径,redis路径下
    查看全部
  • NoSQL:NoSQL=Not Only SQL,全新的数据库理念,泛指非关系型数据库。

    拓展:互联网1代时候,浏览网页都是不能互动的,而互联网2代时候,基于Web的时代,这时候已经可以互动了,但是用的传统关系型数据库已经不再是最合适的选择,尤其对于超大规模和高并发SNS交互型类型的网站。这里就会暴露很多问题,例如:High performance - 高并发读写问题,因此数据库的并发负载就非常高了。Huge Storage - 海量数据的高效率存储和访问(例如:某软件、每月2.5亿数据需要插入,如果查询在这2.5亿,那么对于关系型数据库效率是非常低的)。High Scalability && High Availability -高可扩展性和高可用性,基于Web的架构中,数据库很难横向扩展,当一个应用的用户量和访问量与日俱增的时候,关系型数据库无法像应用服务器、数据库服务器这些通过添加硬件来搭建负载均衡,这样对于数据库系统的升级和扩展是很痛苦的事情(往往需要停机维护,数据迁移)。

    NoSQL主流产品:Redis、mongoDB、CouchDB、Cassandra、riak、membase。

    http://img1.sycdn.imooc.com//5e1a7f8c0001b50d08080570.jpg

    NoSQL数据库的四大分类:

    1、键值(Key-Value)存储:例如Redis。优点是快速查询,缺点:存储的数据缺少结构化。

    2、列存储

    3、文档数据库:mongoDB,优点:要求数据格式不是很严格。缺点:查询性能不是很好,缺少统一的查询语法。

    4、图形数据库

    http://img1.sycdn.imooc.com//5e1a80790001db7910890597.jpg

    NoSQL的特定:

    1、易扩展(它属于非关系型的,数据之间没有关系)

    2、灵活的数据类型(不需要对读写的数据建立字段)

    3、大数据量,高性能(对于大数据量和高并发的读写性能支持很好)

    4、高可用(在不影响系统性能情况下,可以使用框架)

    查看全部
    5 采集 收起 来源:01-NoSQL的概述

    2020-01-12

  • 1,安装Linx虚拟机,系统CentOS,SSH客户端SecureCRT 2,Linx在线安装gcc,>yum install gcc-c++ 一路选y 3,下载redis.tar.gz安装包,使用Filezilla上传到Linx,root目录 4,解压文件>tar -axvf redis.tar.gz 5,进入redis目录,编译>make 6,安装,指定安装目录>make PREFIX=/usr/local/redis install 7,进入安装完成的目录>cd /usr/local/redis 8,返回解压安装路径>cd ~ >ll >cd redis-xxx 9,拷贝redis.conf >cp redis.conf /usr/local/redis 10,>cd /usr/local/redis ,>ll 安装完成 11,修改配置文件>vim redis.conf,进入编辑模式 12,daemonize false 改为 true 13,启动redis >./bin/redis-server ./redis.conf 14,测试启动 ps -f | grep -i redis,默认端口6379 15,停止启动 >./bin/redis-cli shutdown 16,>./bin/redis-cli >ping 17,存值>set name xxx,取值>get name,删除>del name,查看所有>keys *
    查看全部
    4 采集 收起 来源:03-Redis的安装

    2018-03-22

  • 1,安装Linx虚拟机,系统CentOS,SSH客户端SecureCRT 2,Linx在线安装gcc,>yum install gcc-c++ 一路选y 3,下载redis.tar.gz安装包,使用Filezilla上传到Linx,root目录 4,解压文件>tar -axvf redis.tar.gz 5,进入redis目录,编译>make 6,安装,指定安装目录>make PREFIX=/usr/local/redis install 7,进入安装完成的目录>cd /usr/local/redis 8,返回解压安装路径>cd ~ >ll >cd redis-xxx 9,拷贝redis.conf >cp redis.conf /usr/local/redis 10,>cd /usr/local/redis ,>ll 安装完成 11,修改配置文件>vim redis.conf,进入编辑模式 12,daemonize false 改为 true 13,启动redis >./bin/redis-server ./redis.conf 14,测试启动 ps -f | grep -i redis,默认端口6379 15,停止启动 >./bin/redis-cli shutdown 16,>./bin/redis-cli >ping 17,存值>set name xxx,取值>get name,删除>del name,查看所有>keys *
    查看全部
    4 采集 收起 来源:03-Redis的安装

    2018-03-22

  • public void test() { // 获得连接池的配置对象 JedisPoolConfig jPoolConfig = new JedisPoolConfig(); // 设置最大连接数 jPoolConfig.setMaxTotal(10); // 设置最大空闲连接数 jPoolConfig.setMaxIdle(10); // 获得连接池 JedisPool jPool = new JedisPool(jPoolConfig, "192.168.28.102", 7007); // 获得核心对象 Jedis jedis = null; try { //通过连接池获得资源 jedis = jPool.getResource(); //设置数据 // jedis.set("name", "bob"); //获取数据 System.out.println(jedis.ping()); String value = jedis.get("num"); jedis.append("num","66"); System.out.println(value); }catch (Exception e) { e.printStackTrace(); } finally { if (jedis!=null) { //释放资源 jedis.close(); } if (jPool!=null) { jPool.close(); } } }
    查看全部
    4 采集 收起 来源:04-Jedis的入门

    2018-03-22

  • 最新redis安装、配置、远程访问发现,需调整redis.conf参数有: ① bind 127.0.0.1 -> #bind 127.0.0.1 ② protected-mode yes -> protected-mode no 上述配置仅适用于开发环境,不建议在生产环境做上述配置。 参考资料: If you want to connect from external computers to Redis you may adopt one of the following solutions: 1) Just disable protected mode sending the command 'CONFIG SET protected-mode no' from the loopback interface by connecting to Redis from the same host the server is running, however MAKE SURE Redis is not publicly accessible from internet if you do so. Use CONFIG REWRITE to make this change permanent. 2) Alternatively you can just disable the protected mode by editing the Redis configuration file, and setting the protected mode option to 'no', and then restarting the server. 3) If you started the server manually just for testing, restart it with the '--protected-mode no' option. 4) Setup a bind address or an authentication password.
    查看全部
    4 采集 收起 来源:04-Jedis的入门

    2018-03-22

首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
初级课程,会java基本语法即可
老师告诉你能学到什么?
NoSql和Redis是什么?Redis的使用场景,安装和使用。通过Jedis连接到Redis;Redis的通用命令,事务和持久化

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!