redis的数据类型及使用

一.常用命令

           redis'所有的数据都是保存在内存中的 所以快

         一共五中数据类型String set hash list zset

           set  (name) (value)  给name的变量设置value

          get    

          del 

          keys *显示所有数据

         incr   key1      创建一个key1,如果key1存在那么加1

         decr  key         减一

 

二.数据类型命令

 

String类型

 

set类型(无顺序,但是不重复)字符串类型:
set str1 abc  设置key为str1 值为abc的
get str1      获取key为str1的value
keys *        查看所有数据
incr key1     将key为key1的值增加一
decr key2     减一   (但是注意redis中get出来的数都是字符串。自增会转为整数加一,字符串不能加或减)
del  key2

hash类型:
hset hash1 field1 1  创建hash1数据类型 key为field1 值为1
hget hash1 field1    获得
hset hash1 field2 1 
hset hash1 field3 1 
一个hash1里面可以放多个文件
hkeys hash1  获得hash1中的key
hvals hash1  获得hash1中的所有value
hgetall hash1 获得hash1中的key和value
hdel hash1 field3  删除hash1中的field3

hincrby hash1 field3   增加1 或者 hincrby hash1 field3 -1 减少一

LIST(有顺序):
    lpush list1 1 2 3 4 5 6  向左边添加  6 5 4 3 2 1 
    rpush list2 a b c d e f  向右边添加  a b c d e f  
    lrange list1 0 -1        从左开始读list1 从0开始到所有(-1表示所有)
    lpop list1               从左边取1个  取了以后就没有了
    lpop list1 

    lindex list 3  取出下标为3的,从0开始那么就是第四位

    lset list 3 xxxx  设置下标为3的元素

    ltrim list 1 -2   表示删除两端的内容 1表示第一个 -2表示倒数第二个 (所以就删除了第一个和倒数第一个内容)

set:
sadd set1 a b a b c d            sadd(将一个或多个成员加入到集合中,但是集合中又不能重复,所以会过滤重复的数据)
利用sadd去除重复(使用sadd遍历加入)
srem set1 a 删除 

smembers set1  查看set1 中的所有元素
sadd seta a b c d e
sadd setb c d e f g
sinter seta setb      取交集
sunion seta setb      取并集

srandmember seta  5 从seta中随机取出五个元素

zset:

zadd zset1 1 a 3 b 2 c 5 d   (有排序的set 耗费性能较多 1位排序 a位key)
zrange zset1 0 -1      按顺序排列
zrevrange zset1 0 -1   反向排列
zrevrange zset1 0 -1 withscores 带上值一起取出来

其他:
expire key1 100 设置过期时间为100秒
ttl key1        查看还有多久消失(如果看到-1说明这个key1是持久化的-2说明不存在)
persist key1    持久化
exit退出客户端  ctrl+c退出客户端

三、拓展

1)List数据类型

redis中List 为双向链表 形式如图所示,其中头结点k同事拥有第一个元素的引用及最后一个元素的引用。

其中有一些方法

LPUSH从左压入  

提问: 如此,那么在内存中的顺序是怎样的?

先放的a当然是f在最左边。同理使用rpush就是将元素从右边加入 lpop就是把左边的弹出

LTRIM可以将list的部分删除

2)hashmap

处理详情页、

3)set

   无序 去重 help @set

使用场景可以用来做随机抽奖  举例

当使用srandmember时

       srandmember k1 5 取出k1中不重复的5个元素 如果不够那么只返回一定的

      srandmember k1 -5 从k1中取出随机的元素 但是可能重复

redis环境搭建 https://blog.csdn.net/afdasfggasdf/article/details/84134302

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值