Redis安装windows服务及基本使用

本文是Redis的基本使用,进阶使用可以查看Redis中文网

Redis windows版本下载

https://github.com/MSOpenTech/redis/releases

服务安装

redis-server.exe --service-install --service-name redis6380 redis.windows.conf --loglevel verbose --port 6380

redis-server.exe --service-install --service-name redis6379 redis.windows.conf --loglevel verbose --port 6379

服务卸载

redis-server.exe --service-uninstall --service-name redis6380

连接服务端

redis-cli.exe -h 127.0.0.1 -p 6380

端口修改

打开redis.windows.conf,将6379改为6380

主从设置

1、打开redis.windows.conf,修改# slaveof <masterip> <masterport>为slaveof 127.0.0.1 6379

2、命令行连接服务端后,slaveof 127.0.0.1 6379

3、saveof no one可以从slave变为master

默认情况下,slave是只读模式,可以修改slave-read-only yes为slave-read-only no

中文乱码

Redis客户端默认不转义中文,我们需要在打开客户端时,命令后面加--raw

redis-cli.exe --raw

Redis 数据类型

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

这五种类型,各自都有很多命令来对数据进行操作,本文仅简单示范。

1、string

string 类型是 Redis 最基本的数据类型,一个key对应一个value,string 类型的值最大能存储 512MB。

127.0.0.1:6379> set name "test"
OK
127.0.0.1:6379> get name
test

2、hash

Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。每个 hash 可以存储 232 -1 键值对(40多亿)

127.0.0.1:6379> hmset user name "zhangsan" age 20
OK
127.0.0.1:6379> hget user name
zhangsan
127.0.0.1:6379> hget user age
20

3、list

list是一个字符串链表,最多可存储 2的32次方 - 1 元素 (4294967295, 每个列表可存储40多亿)

127.0.0.1:6379> lpush nameList "zhangsan"
1
127.0.0.1:6379> lpush nameList lisi
2
127.0.0.1:6379> lpush nameList wangwu
3
127.0.0.1:6379> lrange nameList 0 10
wangwu
lisi
zhangsan

4、set

set是string类型的无序集合,不能有重复值,集合中最大的成员数为 2的32次方 - 1(4294967295, 每个集合可存储40多亿个成员)。

127.0.0.1:6379> sadd nameSet zhangsan
1
127.0.0.1:6379> sadd nameSet lisi
1
127.0.0.1:6379> sadd nameSet wangwu
1
127.0.0.1:6379> smembers nameSet
lisi
wangwu
zhangsan
127.0.0.1:6379> sadd nameSet wangwu
0

5、zset

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

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

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

127.0.0.1:6379> zadd nameZSet 0 zhangsan
1
127.0.0.1:6379> zadd nameZSet 1 lisi
1
127.0.0.1:6379> zadd nameZSet 2 wangwu
1
127.0.0.1:6379> zadd nameZSet 1 zhaoliu
1
127.0.0.1:6379> zrangebyscore nameZSet 0 1000
zhangsan
lisi
zhaoliu
wangwu

Java客户端

1、Jedis

添加Jedis包依赖:

<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.2.0</version>
</dependency>
Jedis redis = new Jedis("localhost");
System.out.println(redis.ping());
redis.incr("id");
System.out.println(redis.get("id"));
		
Map<String,String> user = new HashMap<String,String>();
user.put("name","张三");
user.put("age","30");
redis.hmset("user", user);
System.out.println(redis.hget("user","name"));
		
redis.lpush("list","1","2","3");
		
List<String> list = redis.lrange("list",0,10);
for(int i = 0;i < list.size();i ++){
	System.out.println(list.get(i));
}

2、Spring Boot

添加依赖:

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

然后就可以在java代码里对redis进行操作了,当然,我们还可以写个工具类,对StringRedisTemplate的方法进行封装,调用更简单一些。

@Autowired
private StringRedisTemplate template;

@RequestMapping("/")
public String hello(){
	
	template.opsForValue().set("spring","boot");
	
	System.out.println(template.opsForValue().get("spring"));
	
	return "hello!";
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值