redis基础知识

1.Redisan安装使用
 
下载
启动服务
1.进入redis目录
 
执行:
redis - server . exe redis . windows . conf
操作页面
进入redis目录,执行
redis - cli . exe - h 127.0 . 0.1 - p 6379
就可以执行redis操作命令了
客服端软件
redis-desktop-manager-0.9.3.817.exe
安装后,打开配置好链接就可以访问了
2.redis基本数据结构及操作
 
字符串
(1)设置一个字符串值 
  语法:set key  value
eg: set userId "12232"
 
(2)得到一个字符串的值
 语法:get key
eg:get userId
 
(3)删除一个key
 del key
eg:del userId
Hash值
Redis hash 是一个键值(key=>value)对集合。
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。
(1)设置一个hash值
 语法:HMSET key  filed1 field1_value   filed2 field2_value  ...
eg:
hmset user id "1"  userName "jiangzk" birth "1978-06-10"
 
(2)得到hash的一个属性值
语法:hget key filed
eg:
 hget user userName   //得到key user的一个字段userName的值
 
(3)删除一个hash值
 del key
eg:
del user
list列表
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。是有顺序的,第一条插入的在最上面
(1)设置值
语法:lpush key value
eg:
lpush nosql redis
lpush nosql mongdb
lpush nosql mecache
 
(2)得到一个list
 lrange key  开始数  结束数  (注意包含开始和结束)
eg:
lrange nosql 0,1  //获得2条数据 0,1
 
(3)删除一个hash值
 del key
eg:
del nosql
set
Redis 的 Set 是 string 类型的 无序集合
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
注意:增加要去重
(1)设置set值
语法:sadd key 值
eg:
sadd nosql redis
sadd nosql mecache
sadd nosql mongdb
sadd nosql mongdb
 
 
(2)得到set值
语法:smembers key   //注意不需要加开始结束值
eg:
 smembers nosql
 
(3)删除一个setz值
 del key
eg:
del nosql
zset
有序集合
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
(1)设置zset值
语法: zadd key score value //sore是确定显示的顺序,值越小排到最前面
eg:
zadd home 0 jzk
zadd home  1 xhp
zadd home 2 jth
zadd  home 1 jfy
 
(2)得到zsetz值
zrangebyscore key min_score max_score
获得值,score在给出的值内(包含)
 
zrange key 开始值 结束值
语法和set一致
 
(3)删除zset值
del key
eg:
del home
set
SetOperations<String, Object> set = redisTemplate.opsForSet();
set.add( "set1", "22");
set.add( "set1", "33");
set.add( "set1", "44");
Set<Object> resultSet = redisTemplate.opsForSet().members( "set1");
Iterator it = resultSet.iterator();
while (it.hasNext()) {
System. out.println(it.next());
}
 
3.redis基础语法
 
 
$ redis - cli
链接服务器
$ redis - cli - h host - p port - a password
eg:
$redis - cli - h 127.0 . 0.1 - p 6379 - a "mypass"
 
如何读取中文避免乱码,加--raw
redis - cli -- raw
key
常见的key语法
 
1.  DEL key
该命令用于在 key 存在时删除 key。
 
2. DUMP key
序列化给定 key ,并返回被序列化的值。
 
3. EXISTS key
检查给定 key 是否存在。
 
4.EXPIRE key seconds
为给定 key 设置过期时间,以秒计。
 
5. PERSIST key
移除 key 的过期时间,key 将持久保持。
 
7.TYPE key
返回 key 所储存的值的类型
 
type nosql   ==>set
设置密码
1.第一种方式 (当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效,)

 

(1)首先进入redis,如果没有开启redis则需要先开启:
[root@iZ94jzcra1hZ bin]# redis-cli -p 6379
127.0.0.1:6379> 
(2)查看当前redis有没有设置密码:
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""
(3)为以上显示说明没有密码,那么现在来设置密码:
127.0.0.1:6379> config set requirepass abcdefg
OK
127.0.0.1:6379> 
(4)再次查看当前redis就提示需要密码:
127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.
127.0.0.1:6379>

 

2.第二种方式 (永久方式)
需要永久配置密码的话就去redis.conf的配置文件中找到requirepass这个参数,如下配置:
修改redis.conf配置文件  

 

# requirepass foobared
requirepass 123   指定密码123
保存后重启redis就可以了
 
eg:
[root@iZ2ze3zda3caeyx6pn7c5zZ bin]# redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379>  auth 123        //指定密码
OK
127.0.0.1:6379> keys *
1) "a"
2) "cit"
3) "clist"
4) "1"
127.0.0.1:6379>
 
4.消息发布订阅
 
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
Redis 客户端可以订阅任意数量的频道。
下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:
当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:
 
实例:
启动三个个客户端,2个创建并订阅消息,一个发布消息,当发布消息后,订阅的两台客户端都收取得到
 
 
 
1.创建并订阅渠道
subscribe 渠道名
redis 127.0 . 0.1 : 6379 > SUBSCRIBE redisChat
 
Reading messages ... ( press Ctrl - C to quit )
1 )  "subscribe"
2 ) "redisChat" 3 ) (integer ) 1
1.创建并订阅渠道
subscribe 渠道名
redis 127.0 . 0.1 : 6379 > SUBSCRIBE redisChat
 
Reading messages ... ( press Ctrl - C to quit )
1 )  "subscribe"
2 ) "redisChat" 3 ) (integer ) 1
2.发布消息
我们先重新开启个 redis 客户端,然后在同一个频道 redisChat 发布两次消息,订阅者就能接收到消息。
redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"
(integer) 1
 
redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by runoob.com "
(integer) 1
3.查看订阅方
两台订阅的服务器都看到消息
# 订阅者的客户端会显示如下消息
1) "message"
2) "redisChat"
3) "Redis is a great caching technique"
1) "message"
2) "redisChat"
3) "Learn redis by runoob.com"
 
相关语法
1    PSUBSCRIBE pattern [pattern ...]
订阅一个或多个符合给定模式的频道。
 
2    PUBSUB subcommand [argument [argument ...]]
查看订阅与发布系统状态。
 
3    PUBLISH channel message
将信息发送到指定的频道。
 
4    PUNSUBSCRIBE [pattern [pattern ...]]
退订所有给定模式的频道。
 
5    SUBSCRIBE channel [channel ...]
订阅给定的一个或多个频道的信息。
 
6    UNSUBSCRIBE [channel [channel ...]]
指退订给定的频道。

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值