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 

 

posted @ 2022-05-08 15:52  StarZhai  阅读(3293)  评论(0编辑  收藏  举报