redis-windos下载
1.shift+鼠标右键 打开windows powershell
输入 ./redis-server完成启动
redis默认端口是6379
2.修改密码
windows版本找到redis.windows.conf文件 用记事本打开;
找到 #requirepass xxxx
修改为 requirepass redis123456
linux下是找到redis.conf文件文件修改
3.启动的时候需要带上redis.windows.conf;
即为: ./redis-server ./redis.windows.conf
4.启动完成后 打开 redis-cli.exe目录
输入 auth redis123456
若显示ok的话就可以了
5.redis注册成为windows服务
参考文档https://www.cnblogs.com/bean-sprout/p/7655550.html
命令规整
注册服务 redis-server --service-install redis.windows.conf
删除服务 redis-server --service-uninstall
开启服务 redis-server --service-start
停止服务 redis-server --service-stop
6.使用redis客户端
参考文档https://blog.csdn.net/bmh228/article/details/78886715
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
Redis命令
执行redis命令必须先要启动客户端。
redis-cli
redis-cli -h 127.0.0.1 -p 6379 -a “password”
可以用任何二进制的序列作为Key, 比如”key”,或者二进制图片的内容,都能作为key。
比较好的习惯是通过冒号:,把Key分成几段。如
user:zhangsan:name
127.0.0.1:6379> set myname redis
OK
127.0.0.1:6379> get myname
"redis"
127.0.0.1:6379>
127.0.0.1:6379> mset user:zhangsan:name zhangsan user:zhangsan:password 123456
OK
127.0.0.1:6379> mget user:zhangsan:name user:zhangsan:password
1) "zhangsan"
2) "123456"
127.0.0.1:6379> hmset user:zhangsan name "zhangsan" password "123456"
OK
127.0.0.1:6379> hvals user:zhangsan
1) "zhangsan"
2) "123456"
127.0.0.1:6379> hkeys user:zhangsan
1) "name"
2) "password"
127.0.0.1:6379> hget user:zhangsan password
"123456"
列表包含多个有序值,既可以作为队列(先进先出),也可以作为栈(后进先出)
LRANGE获取元素,指定第一个位置和最后一个位置,负数表示到末尾。
127.0.0.1:6379> rpush zhangsan:weblist www.baidu.com www.163.com www.google.com
(integer) 3
127.0.0.1:6379> lrange zhangsan:weblist 0 -1
1) "www.baidu.com"
2) "www.163.com"
3) "www.google.com"
127.0.0.1:6379> lrem zhangsan:weblist 0 www.163.com
(integer) 1
127.0.0.1:6379> lrange zhangsan:weblist 0 -1
1) "www.baidu.com"
2) "www.google.com"
127.0.0.1:6379> lpop zhangsan:weblist
"www.baidu.com"
127.0.0.1:6379> lrange zhangsan:weblist 0 -1
1) "www.google.com"
127.0.0.1:6379> lpush zhangsan:weblist www.sohu.com
(integer) 2
127.0.0.1:6379> lrange zhangsan:weblist 0 -1
1) "www.sohu.com"
2) "www.google.com"
127.0.0.1:6379> brpop zhangsan:book 60
1
Set
127.0.0.1:6379> sadd zhangsan:book h1 h2 h3 h4 h5
(integer) 5
127.0.0.1:6379> smembers zhangsan:book
1) "h4"
2) "h3"
3) "h2"
4) "h1"
5) "h5"
127.0.0.1:6379> sadd lisi:book h2 h3 h6 h7
(integer) 2
127.0.0.1:6379> smembers lisi:book
1) "h3"
2) "h2"
3) "h6"
4) "h7"
127.0.0.1:6379> sinter zhangsan:book lisi:book
1) "h3"
2) "h2"
127.0.0.1:6379> sdiff zhangsan:book lisi:book
1) "h4"
2) "h5"
3) "h1"
string 类型的集合,不允许有重复的元素。
每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
127.0.0.1:6379> zadd sites 100 baidu 50 sohu 900 google
(integer) 3
127.0.0.1:6379> zadd sites 1 pptv
(integer) 1
127.0.0.1:6379> zadd sites 3 letv
(integer) 1
127.0.0.1:6379> zrange sites 0 -1
1) "pptv"
2) "letv"
3) "sohu"
4) "baidu"
5) "google"
127.0.0.1:6379> zrangebyscore sites 1 100
1) "pptv"
2) "letv"
3) "sohu"
4) "baidu"
标记一个键为到期,EXPIRE命令
ttl查询还剩余的时间
127.0.0.1:6379> set city beijing
OK
127.0.0.1:6379> expire city 20
(integer) 1
127.0.0.1:6379> ttl city
(integer) 17
127.0.0.1:6379> setex city 20 beijing
OK
127.0.0.1:6379> ttl city
(integer) 7
Java代码操作Redis
Java使用Jedis包来操作redis
引入jedis:
redis.clients
jedis
2.9.0
import redis.clients.jedis.Jedis;
public class RedisTest {
public static void main(String[] args) {
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接成功");
//字符串
jedis.set("runoobkey", "www.runoob.com");
// 获取存储的数据并输出
System.out.println("redis 存储的字符串为: "+ jedis.get("runoobkey"));
//list
jedis.lpush("site-list", "Runoob");
jedis.lpush("site-list", "Google");
jedis.lpush("site-list", "Taobao");
// 获取存储的数据并输出
List list = jedis.lrange("site-list", 0 ,2);
for(int i=0; iout.println("列表项为: "+list.get(i));
}
}
}