redis基础

redis安装

  1. 去redis官网下载
    1. http://download.redis.io/releases/      选择你喜欢的版本 ,然后wget
  2. tar vxzf redis-***.tar.gz
  3. 进入redis目录,执行  make·,这一步是编译;
  4. 还是在解压之后目录redis目录里面执行安装 make PREFIX=/usr/local/redis install(这里制定了安装的路径)

5.拷贝一份redis.conf配置文件到/usr/local/redis/下面(cp redis.conf /usr/local/redis)

6.启动服务器 ./bin/redis-server ./redis.conf

注意redis.cof中有个bind 127.0.0.1 这个端口的设置,如果链接不上redis,那么将这个参数注释掉,关闭redis,然后再启动。

7.启动客户端./bin/redis-cli或者./bin/redis-cli -h 127.0.0.1 -p 6379 这两种方法都可以

秘密启动:./bin/redis-cli -h 39.104.48.121 -p 6379 -a 123456

redis数据类型

  • String String
  • hash javaBean(json)
  • list LinkedList 链表
  • set hashSet
  • 有序的set集合

redis中的字符串类型是最基础,最常用的数据类型,value的最大值为512M,字符串在redis中是二进制安全的,不会对二进制数据进行编解码,效率高。编解码只是发生在客户端。

redis共有16个数据库,0 1 2 。。。。15.

切换数据库:select 数据库名称。select 1:切换到1号数据库。

redis常用命令

  • String类型常用命令
      • 赋值:set key value;
      • 取值:get key;
      • 删除:del key;返回0,没有删除,1删除;
      • getset key value:返回之前的key的value,然后改变key的value为新的value;
      • incr key:将制定的key的value的原子性的递增1,如果该key不存在,其初始值为0,在incr后其值为1.如果value的值不能转成整形,如hello,该操作将执行失败,并返回相应的错误信息。。相当于++i;
      • decr key:将制定的key的value原子性的递减1.
      • append key value:字符串的追加,如果key不存在创建key,如果存在,追加到value之后。
      • incrby key offset
      • incrby key offset
  • Hash常用的命令

key value {name:'xx',age:18}

赋值:

    • hset key field value 设置一个字段
    • hmset key field value field value 设置多个字段

取值

    • hget key filed:取一个字段的值
    • hmget key filed1 filed2:取一个字段的值
    • hgetall key :取key里面的所有的key和value

删除

  • hdel key filed
  • del key:删除(通用)

扩展

  • hkey key:获取所有的字段
  • hvals key:获取所有的value

linkList常用命令

    • 添加:
      • lpush key values 从左边添加元素 d c b a
      • rpush key values 从右边添加元素 a b c d
    • 删除
      • lpop key 从链表的左边删除元素,返回链表头部的元素。
      • rpop key 从链表的右边删除元素,返回链表尾部的元素。
    • 取值
      • lrange key start end 从链表的左边(头)去数据范围是从start到end。start从0开始。-1表示链表尾部。没有lrange
    • 扩展命令
      • llen key 返回list的长度
      • lrem key count value 左侧开始删除count个值为value的元素,如果count大于0,从头开始删除count个,如果count小于0,从尾开始删除count个元素。如果count为0,则删除所有。(效率不高)
      • 替换:lset key index value 从左边开始,找到索引index位置替换为value。(效率不
      • 插入:linsert key before|after pivot value :在pivot 元素插入value这个元素。(效率不高)
      • rpoplpush list1 list2 从list1的尾部弹出元素,到list2的头部。

hashSet常用命令

常用于两个大数据集合的并集、交集、差集运算。

    • 赋值:
      • sadd key values
    • 删除
      • srem key values
    • 取值
      • smembers key 取得所有的成员
      • sismember key member 判断集合中是否有member成员,返回0或者1.
    • 集合运算
      • 差集:sdiff key1 key2 ......返回key1和key2相差的成员。key1中有key2中没有的元素。
      • 交集:sinter key1 key2.........返回都有的成员
      • 并集:sunion key1 key2......返回所有的成员
    • 扩展命令
      • scard key 获取成员中的数量。
      • srandmember key 随机从集合中取一个成员,抽奖。
      • sdiffstore destination set1 set2 将set1和set2的差集存到destination集合中。
      • sinterstore destination set1 set2
      • sunionstore destination set1 set2
    • 有序set集合(专门用于做排行榜)
      • 赋值
        • zadd key score member score member score member 将所有成员以及该成员的分数按分数升序存放到集合中。
      • 取值
        • zscore key member 返回member成员的分数
        • zcard key 获取集合中的元素的数量
        • zrange key start end
      • 删除
        • zrem key member member 。。。删除指定的成员
        • zremrangebyrank key start stop 安装排名范围删除元素
        • zremrangebuscore key min max limit offset count 按照分数范围删除元素
      • 范围查询
        • zrange key start end withscores:获取集合中角标为start-end的成员,withscores表明返回的成员带着分数。
        • zrevrange key start end withscores:获取集合中角标为start-end的成员,withscores表明返回的成员带着分数。
      • 扩展命令
        • zincrby key increment member:设定指定的成员的增加分数,返回值是更改后的分数。
        • zcount key min max 获取分数在 min 和max 之间的成员
        • zrank key member 返回成员在集合中的排名。索引从小到大。
        • zrevrank key member 倒序

通用redis命令

  • keys pattern :获取所有与pattern匹配的key,返回所有与该key匹配的keys.
  • del key1 key2...:删除key
  • exists key 判读某个key是否存在,返回0和1
  • rename key 重命名
  • type key 获取指定的值类型。该命令将以字符串的格式返回。如果key不存在则返回none。
  • expire key time 设置key的生存时间。单位是秒,设置成功返回1.,如果key过期了,redis则会删除
  • ttl key 查看key的生存时间。-1为永久生存,没有设置,-2为不存在了。
  • select 数据库名称 切换数据库
  • flushdb 清空当前的数据库
  • flushall 清空所有的数据库

消息的订阅与发布

  • subscribe channel 订阅频道 eg:subscribe mychat ,订阅mychat这个频道。
  • psubscribe 批量订阅频道,eg: psubscribe s* 订阅以s开头的的频道
  • publish channel content 在指定的频道中发布消息。

redis的事务只是为了批量化执行语句

当其中有一条语句出错了,其他正确的语句也能执行成功。

other

ping 命令测试连接是否存活

echo hehe 输出命令

select 数据库名称 切换数据库

quit 退出客户端

dbsize 返回当前数据的key的数目

info 查看redis的数据 服务端的配置项数据,客户端的配置数据,当前有几个客户端连接数据库

Linux的持久化操作

RDB机制(使用照快照的方式保存所有的数据,适用于内存比较充裕的计算机)

  • 正常关机保存
  • 设置关键字改变频率满足一定条件

AOF机制(使用日志功能保存数据)

  • 每秒同步
  • 每修改同步

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值