• redis教程(一)ubuntu上上安装redis


      Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等

    一、下载redis方法

    方法一:取官方下载,然后用winscp等工具传到Ubuntu中

    方法二:从官网获取到下载链接,然后直接再linux系统中使用wget命令下载文件

    redis官网:https://redis.io/download/

    ubuntu的下载链接:https://download.redis.io/releases/redis-6.2.7.tar.gz

    源码地址:https://github.com/redis/redis

    Redis 在线测试:http://try.redis.io/

    Redis 命令参考:http://doc.redisfans.com/

    二、解压安装

    1.解压安装

    # wget https://download.redis.io/releases/redis-6.2.7.tar.gz
    # tar xzf redis-6.2.7.tar.gz

    # cd redis-6.0.8

    # make

    2.执行完 make 命令后,redis的 src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli:

    下面启动 redis 服务:

    # cd src
    # ./redis-server

     3.也可以通过启动参数告诉 redis 使用指定配置文件使用下面命令启动。(ctrl+C可以退出服务)

    # cd src
    # ./redis-server ../redis.conf

    4.使用测试客户端程序 redis-cli 和 redis 服务交互了。

    # cd src
    # ./redis-cli
    redis> set star zhai
    OK
    redis> get star
    "zhai"

     三、配置Redis

    详见:https://www.runoob.com/redis/redis-conf.html

    1.查看配置 格式  

    redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
    CONFIG GET * 获取所有配置项
    redis 127.0.0.1:6379> CONFIG GET loglevel
    

     

    2.编辑配置 通过修改 redis.conf 文件或使用 CONFIG set 命令来修改配置。

    格式:redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE

    设置密码

    CONFIG set requirepass "你的密码"

     此后重连接使用时,需要先输入密码  AUTH 你的密码

    三、数据类型

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

    1.String

    可以理解成与 Memcached 一模一样的类型,string 类型的值最大能存储 512MB。

    set testkey "starzhai"
    
    get testkey

     2.Hash(哈希) 类似于两层嵌套的key-value

    Redis hash 是一个键值(key=>value)对集合。

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

    每个 hash 可以存储 232 -1 键值对(40多亿)

    del testkey
    
    hmset testkey keyname1 "hello" keyname2 "xingxing"
    
    hmget testkey keyname1
    
    hmget testkey keyname2

    3.List列表

    Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

    入队:push 出队range 分别有l r左右两种方向

    #队列是入尾出头 rpush lrange  以下内容为左入左出类似于栈
    del testkey
    
    lpush testkey tianjinshi
    
    lpush testkey nankaiqu
    
    lpush testkey hongqinanlu
    
    lrange testkey 0 5

     4.set 集合

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

    集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

    增:sadd keynames member  查:sembers keynames

    del testkey 
    
    sadd testkey tianjin
    
    sadd testkey nankai
    
    sadd testkey tianjin
    #重复元素添加不进去
    
    smembers testkey

    5.ZSET有序集合

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

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

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

    增:zadd key score member

    查 zrangebyscore runoob 0 100

    127.0.0.1:6379> del testkey
    (integer) 1
    127.0.0.1:6379> zadd testkey 0 s
    (integer) 1
    127.0.0.1:6379> zadd testkey 2 a
    (integer) 1
    127.0.0.1:6379> zadd testkey 3 r
    (integer) 1
    127.0.0.1:6379> zadd testkey 0 t
    (integer) 1
    127.0.0.1:6379> zadd testkey 4 s
    (integer) 0
    127.0.0.1:6379> zrangebyscore testkey 0 10
    1) "t"
    2) "a"
    3) "r"
    4) "s"
    127.0.0.1:6379> 

    后来重复添加的value s 对应的score4替换掉原来的score0

    五、redis命令

    1.启动客户端

    redis-cli

    执行ping命令,若redis服务已启动会返回pong

    $redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
    redis 127.0.0.1:6379>
    redis 127.0.0.1:6379> PING
    
    PONG

    六、Redis连接(不区分大小写)

    1.验证密码 AUTH password

    2.打印字符串 ECHO

    3.查看服务是否运行 PING

    4.关闭当前连接 QUIT

    5. 切换到指定的数据库 SELECT index

    七、数据备份与恢复

    备份:save、bgsave(后台备份)

    在安装目录中创建dump.rdb文件

    恢复:如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis 目录可以使用 CONFIG 命令,如下所示:

    到rbp目录下 config get dir

     八、Java使用Redis

     相关配置 

    (1)配置redis

    ①设置密码

    config set requirepass "root"

    ②打开redis根目录下的redis.conf (找不到可以用whereis命令)

    whereis redis.conf

    注释掉bind 127.0.0.1::1

     将protected-mode yes改为no

     ③关闭防火墙(我的服务器没开着 所以没操作这步)

    ④重启虚拟机和redis

    ⑤新建maven项目,添加redis.clients依赖:https://mvnrepository.com/artifact/redis.clients/jedis

    需要下载或依赖jedis.jar驱动包,在classpath中包含该驱动包

      https://mvnrepository.com/artifact/redis.clients/jedis

    1.连接redis服务

    import redis.clients.jedis.Jedis;
    
    public class Solution {
        public static void main(String[] args) {
            //连接本地的 Redis 服务
            Jedis jedis = new Jedis("59.67.152.192",6379
            );
            // 如果 Redis 服务设置了密码,需要下面这行,没有就不需要
             jedis.auth("root");
            System.out.println("连接成功");
            //查看服务是否运行
            System.out.println("服务正在运行: "+jedis.ping());
        }
    }

    2.Redis Java String 

    import redis.clients.jedis.Jedis;

    public class Solution {
    public static void main(String[] args) {
    //连接本地的 Redis 服务
    Jedis jedis = new Jedis("59.67.152.192",6379
    );
    // 如果 Redis 服务设置了密码,需要下面这行,没有就不需要
    jedis.auth("root");
    // System.out.println("连接成功");
    //向redis中写入数据
    jedis.set("key1","value1");
    //从redis中读数据
    String res=jedis.get("key1");
    System.out.println("key1对应的值为: "+res);
    }
    }

    3.Redis Java List 

  • 相关阅读:
    华为机试正式版(西安c/c++/java),今天下午去机试的题目,新奇出炉了!
    嘉定三屠与扬州十屠
    【spring】【spring boot】获取系统根路径,根目录,用于存储临时生成的文件在服务器上
    【git】【Idea】git刷新获取远程分支列表,可以在idea上看到最新的远程分支列表
    【spring boot】【idea】100.idea新建一个spring boot项目
    【java】Execption的 e.getMessage()为null的解决方法
    【java】java反射获取属性和属性值,java反射设置属性和属性值
    【HTML】处理<br>换行符追加到前端换行无效的问题 --- html中渲染的字符串中包含HTML标签无效的处理方法,字符串中包含HTML标签被转义的问题 解决
    【HTML】前台input上传限制文件类型
    【Navicat】使用navicat执行sql 查询速度很慢解决方法
  • 原文地址:https://www.cnblogs.com/StarZhai/p/16245823.html
Copyright © 2020-2023  润新知