Redis专题(二)

CentOS 6系统 + Redis3.2.11 + Java

安装:

首先利用使用wget获取资源

接着使用tar -xf 包名称

然后进入redis根目录

使用编译 编译安装

make && make install

成功之后就可以使用了

redis-server:启动默认的redis服务 默认加载的配置文件是redis.conf

如果想启动自定义的配置则需要修改一下配置文件并在命令后加上配置文件的绝对/相对路径(以能找到为主)

如:在redis目录下运行 redis-server redis_6379.conf 则会按照此配置文件进行配置。

redis-cli:按照默认IP以及端口进行连接redis服务。

如果想自定义指定ip或者端口可以使用-h IP地址 -p 端口号

ps -ef|grep redis:可以检查后台运行的redis服务。

redis可以在内存中存储五种数据类型,最底层的内容还是String;针对value而言

String字符串类型

hash面向对象的存储方式

list 链表

set 集合 

zset有序集合

String类型和基础命令

keys *:查看当前redis中存在的所有key-value数据

Set key value:存放一个string类型的value数据,利用key值来保存(key值获取是需要根据业务逻辑来完成的)

get key:获取string类型的数据

select 整数(默认0-15):默认redis将会进行分库操作,每个库和其他的库数据不连通;当前总是默认使用0号库。

exists key:判断key值是否存在;

redisvalue存储最大值3.2.11版本中512M

del key:删除key对应的value数据对

type key:五种数据结构,利用type可以查看数据类型

help 命令名称:查看当前命令的使用(不推荐),一般查看命令的使用都到官网;

 

save+dump文件

redis可持久化的类型:rdb模式

调用save命令,可以将当前redis的数据写出到默认redis根目录的dump文件

save命令一旦调用,当前内存数据就会输出到持久化文件中(可以指定dump

flushall:将内存和持久化文件的所有数据清空

flushdb:清空当前库的内存数据

 

incr decr key:自增自减,key对应的valueString,但是必须是数字;单步计步器

设定计步的步数

incrby decrby key 数字:对key的增加和减少设定步数

 

append key value:修改数据可以使用set命令覆盖,有的时候数据只需要追加,可以使用append

expire key seconde:超时时间,设定当前key的超时时间;一般来讲数据都需要设定超时时间;

redis有自动删除数据的逻辑 最近最久未使用

LUR;对于已经满足最近最久未使用的数据,即使不设定超时时间也删除;

ttl key:查看key的超时时间

每个数据有记录超时的数字

大于零:剩余时间

永久数据:记录时间 -1

超时数据:记录时间 -2

 

 

Hash数据类型

Hset key field value 设置一个hash结构的一条数据

Hget key field 获取一个hash结构数据的某个属性值

hexists 判断hash结构的key是否存在

只想获取属性值,只想获取属性值

Hvals hkeys key

hash结构的计步器

hincrby

hlen key:获取hash数据结构的所有属性个数

 

集合数据类型(list set zset)

在list,左为上,右为下,从上倒下相当于从左到右

lpush key value:从左侧将value数据添加到一个叫keylist当中

lrange key 起始位置 结束位置:如果想展示链表所有内容 0-1

rpush key value:从右侧插入链表数据,

不是链表的结构有l必定有r

linsert :插入数据

before:从左插入

after:从右册插入

pivot:参数 原有的元素值

value:准备新增的数据

 

lset

设置list中指定下标的元素值

lrem

从list中删除count的个相同值的元素,count的值可以是0 可以是大于0 小于0

count>0表示删除的值从上往下删除

count<0表示从下往上删

等于0 全部删除

ltrim

表示保留一个范围内的list值,其他都删除

lpop

从list的头部删除元素,并且当前客户端获取删除的元素

rpop

从尾部删除,返回元素数据

rpoplpush

从第一个list的尾部移除元素,添加到第二个list的头部

llen:返回list的元素个数

在redis中提供的复杂的数据类型,可以非常方便的对数据在内存中利用redis的能力进行计算,否则必须客户端将数据读取到代码中才可以做计算;极大的节省了带宽

 

String数据类型做缓存如何存储对象数据?

class User

{

    private String name="haha";

    private Integer age=18;

}

只能将user的对象转化成string的字符串 json

需求,对象数据age过了1年了,18-19

先读取字符串,转化成对象,修改18为19,转化字符串,存入缓存

 

redis提供的hash可以直接存储面向对象的数据

对于企业中诸多的复杂的业务逻辑中,需要计算数据的过程,都可以利用已知的redis提供的命令完成;

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值