redis基础

redis安装

  1. tar -zxvf redis-5.0.4.tar.gz
  2. cd redis-5.0.4
  3. 修改redis.conf中的daemonize yes
  4. make
  5. cd src/
  6. make install
  7. redis-server redis.conf  启动redis
  8. redis-cli shutdown 关闭redis

redis一共有五种基本数据类型:String、Hash、List、Set、ZSet

String类型

String类型是包含多种类型的特殊类型,并且是二进制安全的。比如序列化的对象进行存储,比如一张图片进行二进制存储,比如一个简单的字符串,数值等等

设置值set key value    取值 get key   (多次设置相同的key会覆盖)

删除值del key

setnx (not exist)key如果不存在进行设置,存在就不需要进行设置了,返回0

setex(expired)    setex key 10 value   设置key有10秒,10秒后返回nil(在redis里nil表示空)

setrange替换字符串: set email 1207322@qq.com    setrange email 8 ww(表示从索引为8的开始替换,后面跟上替换的字符串)

 使用一次性设置多个和获取多个mset、mget方法:

mset key1 value1 key2 value2      mget key1 key2

getset key value 返回旧值并设置新值得方法

incr和decr方法:对某一个值进行递增和递减(是对值为数字的key操作的方法,不是数字会报错)

incrby和decrby方法:对某个值进行指定长度的递增和递减(语法: incrby key 步长)

append key 方法:字符串追加方法

strlen key 方法:获取字符串的长度

Hash类型

Hash类型是String类型的key和value的映射表,或者说是一个String集合。它特别适合存放对象,相比较而言,讲一个对象类型存储在Hash类型里要比存储在String类型里占用更少的内训空间,并方便存取整个对象

hset myhash field1 hello (含义是hset是hash集合,myhash是集合名字,field1是字段名,hello为其值)

hget myhash field1 获取内容

hmset 可以进行批量存储对个键值对:hmset myhash sex nan addr beijing

hmget可以进行批量获取多个键值对:hmget myhash sex addr

hsetnx(not exist) 与setnx大同小异

hexists 当前hash集合中是否存在key,如果存在返回1    不存在返回0

hlen 返回指定hash集合里的所有的键数值

hdel 删除指定hash集合中的key

hkeys 返回指定hash集合中的所有key

hvals 返回指定的hash集合中的所有value

hgetall 返回指定的hash里所有的key和value

List类型

List类型是一个链表结构的集合,其主要功能有push、pop、获取元素等。更详细的说,List类型是一个双端链表的结构,我们可以通过相关操作进行集合的头部或尾部添加删除元素,list的设计非常简单精巧,既可以作为栈,有可以作为队列。

lpush:从头部加入元素(栈)先进后出

rpush:从尾部加入元素(队列)先进先出

linsert方法:插入元素(没有rinsert方法)

lset 将指定下标的元素替换掉

lrem 删除元素    并返回删除的个数

ltrim方法:保留指定key的值范围内的数据

lpop方法:从list的头部删除元素,并返回删除元素

rpop方法:从list的尾部删除元素,并返回删除元素

rpoplpush方法:第一步从尾部删除元素,然后第二步从头部加入元素

lindex方法:返回名称为key的list中index位置的元素

llen方法:返回元素的个数

set类型

set集合是string类型的无序集合,set是通过hashmap实现的,对集合我们可以取交集、并集、差集

sadd方法:向名称为key的set中添加元素     set集合不允许重复元素smembers查看set集合的元素

srem方法:删除set集合元素

spop方法:返回随机删除的key

sdiff方法:返回连个集合的不同元素(那个集合在前面就以那个集合为标准)

sdiffstore方法:将返回的不同元素存储到另外一个集合里   sdiffstore set3 set1 set2这里是吧set1和set2的不同元素(以set1位准)存储到set3中(set3可以不存在)

sinter方法:返回集合的交集

sinterstore方法:返回交集结果,存入集合中中

sunion方法:取并集

sunionstore方法:取得并集,存入集合中

smove方法:从一个set集合中移动到另一个set集合中(将第一个set集合中的元素移动到set2中——相当于剪切复制)

scard方法:查看集合里元素个数

sismember方法:判断某元素是否为集合中的元素 ——返回1代表是集合中的元素,0代表不是

srandmember方法:随机返回一个元素

zset类型

zadd向有序集合中添加一个元素,如果该元素存在,则更新顺序——在重复插入的时候,会根据顺序属性更新

如果元素存在,则更新顺序,顺序可以重复,但是元素不能重复

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值