Redis安装和使用
Posted Shall潇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis安装和使用相关的知识,希望对你有一定的参考价值。
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,它支持存储的value类型,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
文章目录
一、Redis安装
1、安装gcc
yum -y install gcc
2、下载Redis
下载地址:点这里 我下的是 6.3.0,尽量用stable 稳定版
下载好后上传至服务器
3、解压
tar -zxvf redis-6.2.3.tar.gz
4、编译
cd redis-6.2.3
make
make install PREFIX=/opt/soft/redis6
5、拷贝配置文件至新目录下
cp redis.conf /opt/soft/redis6
6、修改配置文件(可跳过)
不配置可以直接启动redis,但是想后台启动redis,需要配置一下 redis.conf 文件
将daemonize no 改为 yes
7、启动
1、未设置后台启动的启动命令:
- 启动服务
./bin/redis-server
- 启动客户端
./bin/redis-cli
2、设置后台启动的启动命令:
- 启动服务
./bin/redis-server ./redis.conf
- 查看服务是否启动
ps -ef |grep redis
- 客户端的不变
二、Redis基本命令
Redis 数据类型
数据类型 | 说明 |
---|---|
String | 字符串 |
List | 可重复集合 |
Set | 不可重复集合 |
Hash | 键值对集合 |
Sortedset(Zset) | 有序的Set |
Redis 中默认16个库 (0~15)
选择库:如果不指定,默认使用0号库
使用0号库
select 0
使用1号库
select 1
…
String
插入
set key value
127.0.0.1:6379> set name "tom"
查看vlaue
get key
127.0.0.1:6379> get name
"tom"
修改value
【由于redis是基于内存的数据库,并没有update操作,而是通用的插入】
127.0.0.1:6379> set name "jack"
OK
127.0.0.1:6379> get name
"jack"
查看所有key
keys *
127.0.0.1:6379> keys *
1) "name"
删库
flushdb
Set
插入
sadd key value1 value2 …
127.0.0.1:6379> sadd addr "China" "USA" "France" "German" "Japan"
(integer) 5
查看
smembers key
127.0.0.1:6379> smembers addr
1) "France"
2) "German"
3) "USA"
4) "China"
5) "Japan"
查看value是否在Set中
sismember key value
127.0.0.1:6379> sismember addr "USA"
(integer) 1
127.0.0.1:6379> sismember addr "UF"
(integer) 0
获取当前Set元素个数
scard key
127.0.0.1:6379> scard addr
(integer) 5
弹出集合
spop key 每次弹出的个数
127.0.0.1:6379> spop addr 2
1) "USA"
2) "German"
127.0.0.1:6379> spop addr 2
1) "France"
2) "China"
127.0.0.1:6379> spop addr 2
(empty array)
删除
srem key value
127.0.0.1:6379> srem addr "Japan"
(integer) 1
127.0.0.1:6379> smembers addr
1) "German"
2) "USA"
3) "China"
4) "France"
List
从头部插入
lpush key value1,value2
127.0.0.1:6379> lpush user "jack" "lilei" "louis" "carter"
(integer) 4
从尾部插入
rpush key value1,value2
127.0.0.1:6379> rpush user "trump"
(integer) 5
查看
lrange key 0 -1
【0:第一个,-1:最后一个】
127.0.0.1:6379> lrange user 0 -1
1) "carter"
2) "louis"
3) "lilei"
4) "jack"
5) "trump"
查看指定索引元素
lindex key 索引
127.0.0.1:6379> lindex user 4
"trump"
更新
lset key 索引 value_new
127.0.0.1:6379> lset user 4 jack
由于List 可以是重复元素,所以我们会看到两个 jack
127.0.0.1:6379> lrange user 0 -1
1) "carter"
2) "louis"
3) "lilei"
4) "jack"
5) "jack"
删除
lrem key 个数 value
127.0.0.1:6379> lrem user 2 "jack"
(integer) 2
Hash
插入
hset key key1 value1
127.0.0.1:6379> hset userinfo name "tom"
(integer) 1
127.0.0.1:6379> hset userinfo age 23
(integer) 1
127.0.0.1:6379> hset userinfo addr "beijing"
(integer) 1
127.0.0.1:6379> hset userinfo hobby "swimming"
(integer) 1
查看长度
hlen key
127.0.0.1:6379> hlen userinfo
(integer) 4
查看有的key
hkeys key
127.0.0.1:6379> hkeys userinfo
1) "name"
2) "age"
3) "addr"
4) "hobby"
查看有的value
hvals key
127.0.0.1:6379> hvals userinfo
1) "tom"
2) "23"
3) "beijing"
4) "swimming"
查看所有的key-value
hgetall key
查看指定key1的value
hget key key1
127.0.0.1:6379> hgetall userinfo
1) "name"
2) "tom"
3) "age"
4) "23"
5) "addr"
6) "beijing"
7) "hobby"
8) "swimming"
修改
hset key key1 value_new
127.0.0.1:6379> hset userinfo addr "nanjing"
(integer) 0
127.0.0.1:6379> hgetall userinfo
1) "name"
2) "tom"
3) "age"
4) "23"
5) "addr"
6) "nanjing"
7) "hobby"
8) "swimming"
删除
hdel key key1
127.0.0.1:6379> hdel userinfo age
(integer) 1
SortedSet
插入
zadd key key1 value1
127.0.0.1:6379> zadd laptop 1 "thinkpad"
(integer) 1
127.0.0.1:6379> zadd laptop 2 "hp"
(integer) 1
127.0.0.1:6379> zadd laptop 3 "auas"
(integer) 1
127.0.0.1:6379> zadd laptop 3 "mi"
(integer) 1
查询
zrange key 0 -1
127.0.0.1:6379> zrange laptop 0 -1
1) "thinkpad"
2) "hp"
3) "auas"
4) "mi"
删除
127.0.0.1:6379> zrem laptop "auas"
(integer) 1
三、Java连接(Jedis)
1、导入依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.0</version>
</dependency>
2、编写代码
简单demo
如果下面代码执行,报redis 进入保护模式的错
【请在客户端执行如下命令:离开保护模式】
config set protected-mode "no"
public class Demo1 {
private final static String HOST = "192.168.184.XXX";
private final static int PORT = 6379;
public static void main(String[] args) {
Jedis jedis = new Jedis(HOST, PORT);
jedis.set("t1","Louis");
System.out.println(jedis.get("t1"));
Set<String> keys = jedis.keys("*");
Iterator<String> iterator = keys.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
jedis.close();
}
}
以上是关于Redis安装和使用的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )(代码片段