Redis基本使用1

在redis 中有 5种数据类型
string: 字符串
hash: hash (个人理解是python中的dict)
list: 列表
set: 集合
zset: 有序集合

删除
del key
string

string 字符串, 以key - value 进行存储,

set name lowang                    set 设置一个键值对
mset name laowang age 10 sex 男    mset 批量设置键值对
mget name age sex                  mget 批量获取键值对
getrange name 1 2                  获取value 并切割
getset name laoli                  获取完name后设置name的值
setex aaa 10 bbb 				   设置aaa value的值是bbb 过期时间是10秒
setnx name laoluo 				   当name值不存在的时候才设置键值对 name laoluo 这样就避免了值被覆盖问题
strlen name                        获取当前name对应的value字符串的长度
incr age                           可以给当前key对应的value值数字+1 储存格式是字符串,但是也是可以+1的, 如果储存的是非数字格式,那么会报错
append age 110                    	如果key不存在,那么就将添加key键值对,如果key存在,那么就将value 添加到key对应的value的后面

hash

hash 字典 在redis存储中,以字典的形式进行存储,

hset dict name laowang                      设置字典,只能设置一个键值对
hmset dict name laowang age 18 sex 男       批量设置字典,key是dict value是 {"name": "老王", "age": "18", "sex": "男"}
hget dict name                              获取字典对应的key-value 只能获取一个
hmget dic name id age                       可以批量获取value
hgetall dict                                获取所有key 和 value
hexists dict name                           获取在dict字典中key是否存在,如果存在,返回1,不存在返回0
hkeys dict                                  获取dict 中所有的key
hsetnx dict name laowangba                  如果dict中不存在key name ,那么就设置,如果存在,则不设置
hvals dict	                                获取dict中所有 的value值

list
lpush lists laowang laoli laozhao           添加 3个value值到lists列表中, 这样添加的方式是往前插,最后的数据在最前面
llen  lists                                 查看当前列表有多少个数据
lindex lists 0                              获取列表第0个数据,也可以使用负数(-1)这样获取的就是列表中最后一个数据
rpush  lists laoluo                         将数据添加到列表的最右边, 类似于python中的列表 append()添加到末尾
rpoplpush lists lists1                      将lists列表中的最后一个数据移除添加到lists1列表中
lpop  lists                                 删除列表中第一个元素数据
blpop  lists 10                       		删除列表中第一个元素,如果列表中没有数据的话,会等待10秒,在10中有数据添加进来就删除,没有就等待完10秒后退出命令
lrem lists 1 aaaa                           从列表的最左边开始找,删除一个值为 aaaa 的数据,如果 count 为0 时,会将列表中所以值为aaaa的数据删除,如果 count 是负数的话,会从右往前找数据进行删除,删除的值是负数的绝对值

ltrim lists 1 -11-1之间的数据保留,删除在这个区间外的数据
linsert lists after eee ggg                 插入数据在 eee 后面插入, after(插入到元素后面)before (插入到元素前面)
lset lists 0 abcdefg                        修改列表中下标为0的value的值

set

set 不能重复

sadd  set laowang laoli 20 nan             设置set 集合,添加value laowang laoli 等value
sunion set                                 获取set集合 中所有 的value
sunion set set1                            去重,获取两个集合中的数据,如果有重复的,只获取一次
scard  set                                 获取集合中元素的数量,当集合不存在的时候返回的是0
srandmember  set 10                        随机获取set 集合中的10个元素,当不足10个的时候,获取所有
sinter set                                 获取所有数据
sinter set set1                            获取两个集合中共有的数据
srem set 10 20 laowang                     删除集合中的10 20 laowang value值, 如果集合中没有这几个元素,那么会返回0 如果值存在1个,则返回1,(只完成删除一个)

smove sets set 20                          将set1 中的 20 value 移动添加到set集合最后
sismember set 20                           查询set集合中是否有 20 这个元素
sdiff set set1                             获取第一个集合中有的而第二个集合中没有的元素
sdiffstore sets set set1                   将第一个集合中有的第二个集合中没有的元素sadd到sets 集合中
spop set                                   随机删除返回一个数据

zset

zadd myset 1 laowang 2 laoli 				get有序集合 myset 添加数据 1 老王 这个1 是排序,值越小的排越往前,当排序的值相同的时候redis会自动的进行排序,内部自动的将这些相同值的 value进行排序


zrange myset 0 -1 							循环当前集合的值,通过下标来获取,在redis中,下标是负数的话就是从右往前,-1代表最后一个
zrange myset 0 -1 withscores                循环当前集合值和排序值(相当于权重),

zremrangebyrank myset 0 1                   移除下标0-1之间的数据
zcard  myset                                获取集合中元素的数量,当列表不存在的时候返回的是0
zrem   myset  aaa bbb ccc                   删除多个数据
zrank  myset  ccc                           获取ccc 的索引
zremrangebyscore myset 4 5                  删除分数在45之间的所以值

zcount myset 0 100                          获取分数在 0 - 100之间的所以值的总数   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值