Redis

非关系型数据库(NOSQL)——key-value

查看当前是否运行:ps -ef | grep -i redis
设置密码:config set requirepass 123456    //用于jdbc连接redis,否则受保护只能本地连接


字符串和数字:
getset n 3 //获取并修改————2      //get n ——3
incr n     //默认加一,n默认为0 incr n = 1;
incrby n 3   //4
decr n          //3
decrby n 2   //1

append s1 jj //定义并赋值value jj 给s1
append s1 sb //get s1    jjsb


哈希:基本结构: hkey key value     //一个hkey 可以有多个key;
hset people name java    //hget people name ——java
hset people id 1    //hget people id   —— 1
hmset man user java password 123456 //hmget man user password——1)java 2)123456
hgetall man——————1)"user"2)"java"3)"password"4)"123456"
hdel people name id    //删除一个或者多个
hset man age 20
hincrby man age 5      //hget man age ——25
hexists man age——1    hexists man aaa——0

hlen man       //属性个数(key)的个数:(user,password,age)——  3
PS:hlen xx 若xx未创建或者被删除完则为0 若xx是不同类型:已经是set ,key会报错!(wrong kind of value) 

hkeys man        //获取所有属性值(key)——user,psssword,age
PS:若不是哈希类型的Key,一样会报错!若是,则(empty list or set)

hvals man     //获取所有value——————java,123,25
PS:同上

链表(双向链表):
从左边开始添加:lpush list a b c xxx
从右边开始添加:rpush list 1 2 3
查询(只能从左边开始):lrange list 0 -1    //索引从0开始,-1为最后一个
——————————xxx c b a 1 2 3
删除:lrem list 1(count个数) xxx(value)   //count正数从左边开始,负数从右边开始,0代表所有
弹出(显示并删除):lpop 左侧弹出数据 rpop右侧弹出数据
llen查看元素个数::llen list————6
插入:
lpushx 从链表的头部(左边)插入一个元素:lpush list first
rpushx 从链表的尾部(右边)插入一个元素:rpush list last
lpush  从头部插入多个:lpush list hello  rpush 从尾部插入多个:rpush list hi
指定设置:
lset list 0 xxx ——————xxx b a 1 2 3
指定位置插入:
linsert list before/after xxx(value) sst(insert_value)
尾出头入:rpoplpush list1 list2  //list1(a,b,c)list2(1,2,3)
————lrange list1/list2 0 -1;———list1(a,b)list2(c,1,2,3);


set集合(没有重复集合&&无序)
添加:sadd set1 a b c a d e       sadd set2 b c d 
查找(无序并且没有重复):smembers set1 ————a c e  b d
删除(可删除多个):srem set1 e d —————— a b c
获取集合中元素个数:scard set1 ————3
查看是否存在:sismember set1 g ——0     sismember set1 a ——1
随机取一个值:srandmember set1 ——a
                         ---------(set1:a b c  set2 b)---------------
获取俩个或者多个集合差(set1-set2):sdiff set1 set2————a c
获取俩个或多个集合交集:sinter set1 set2————b
获取俩个或多个集合的并集(set1+set2):sunion set1 set2——a b c
以上并存储进一个set集合:sdiffstore s set1 set2——2 // //smembers s ——a c


sorted_set集合(中的成员没有重复的,但是在集合中的位置是有序的,)——type:zset
添加:zadd sort1 5 a 4 b 6 c
查询:zrange sort1 0 -1  (从第0到最后一个 ps:0 -2 从第0个到倒数第二个)//0 -1都是索引
重新赋值分数:zadd sort1 2 a ——添加条数0
获取分数:zscore sort1 a——2
删除:zrem sort1 a
获取元素个数:zcard sort1 ——3
查询并连带分数:zrange sort1 0 -1 withscores
查到降序排列:zrevrange sort1 0 -1
删除按照范围:
一:按照排名删除:zremrangebyrank sort1 0 1——从0删到1   若为 -3 -1 从倒数第三个删除到最后一个
二:按照分数范围删除:zremrangebyscore scort1 3 5(删除分数为3 4 5的元素)

查找分数范围内并限定起始 类似分页:分数在2~10分之间,从所查到数据的第4个(索引3)数据开始显示3个
zrangebyscore sort 2 10 limit 3 3————zrangebyscore sort min max limit start count

给指定member增加分数:zincrby sort 10 a——给sort中a添加10分
查找指定评分范围的元素个数:zcount sort 1~3——查找1~3分的个数


keys通用操作:
显示所有key:keys *     //keys a*    keys a?    keys ?a??    keys *a*
删除key:del s1 s2 s3
判断是否存在key:exists s2——0 exists sort ——1   参数可以多写,只输出个数:exists s1 s2——2
重命名:rename s1 sst    //get s1 ——nul   //get sst ——asst
设置有效时间:expire sst 521 ——————521秒之后删除
查询剩余时间:ttl sst——520
显示类型type:type sst——string           type h1——hash       type ll——list    
        type sort1 ——zset               type s1 ——set

集群:

选择ruby版本为2.3.6:
scl enable rh-ruby23 bash
单机多节点创建集群:
redis-trib.rb create --replicas 1  127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006
进入集群redis环境:/usr/local/redis/bin/redis-cli -c -p 7002

多机多节点创建集群:
redis-trib.rb create --replicas 1  192.168.211.129:7001 192.168.211.129:7002 192.168.211.129:7003 192.168.211.130:7004 192.168.211.130:7005 192.168.211.130:7006
进入集群redis环境:/usr/local/redis/bin/redis-cli -h 192.168.211.129 -c -p 7002

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值