最后
各位读者,由于本篇幅度过长,为了避免影响阅读体验,下面我就大概概括了整理了
-
选择需要版本获取源码,wget http://download.redis.io/releases/redis-5.0.2.tar.gz
-
解压文件包 tar xzf redis-5.0.2.tar.gz
-
进入解压文件夹编译源码 cd redis-5.0.2,make
-
make install 安装
-
redis-cli 打开客户端
wget http://download.redis.io/releases/redis-5.0.2.tar.gz
tar xzf redis-5.0.2.tar.gz
cd redis-5.0.2
make
make install
在 Window 下,配置文件为 redis.windows.conf,在 Linux 下,配置文件是redis.conf,一下常用配置
-
daemonize:配置Redis是否以守护进程的方式运行,默认no,使用yes启用守护进程
-
port:Reids占用端口号,默认6379
-
bind:绑定ip,Redis接受该ip的请求,默认127.0.0.1即本机,修改为0.0.0.0可接受所有
-
timeout :客户端连接超时时间
-
databases:数据库数量,默认16
3.Redis数据类型
Redis支持五种数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及zset(Sorted Set:有序集合)。
-
String:一个 key 对应一个 value,可以是字符串、整数或浮点,统称为元素 ,支持对字符串字符处理操作,对整数类型加减
-
Hash:key-valued的散列组,其中key是字符串,value是元素 ,支持按照key进行增加删除
-
List:一个有序(插入顺序)序列集合 ,支持序列两端推入、或弹出元素、增剪、查改或移除元素
-
Set:无序的集合,各不相同的元素 ,可从集合中插入或删除元素
-
Sorted Set:带分数的score-value有序集合,其中score为浮点,value为元素,以score排序,支持集合插入,按照分数范围查找
4.Redis的常用操作命令
4.1.String类型操作命令
-
set key value:添加key-value的数据,存在则更新
-
get key:根据key获取value
-
incr key:对于数字型value,将key存储的值加 1,即value = value 1
-
decr key:对于数字型value,将key存储的值减 1,即value = value - 1
-
incrby key num:对于数字型value,将key所存储的值增加num,即value = value num
-
decrby key num:对于数字型value,将key所存储的值减去num,即value = value - num
-
append key str:将str字符串拼接到key所对应的val末尾,数字会转化为字符串,即value =value str
-
setnx key value:只有在key不存在的时候才添加,key存在则不做任何操作
-
mget key [key2…]:一次获取多个key的值
-
msetkey value [key2 value2…]:一次添加多组key-value
-
getset:添加key-value,并返回key之前所对应的值,不存在返回nil
-
setex key seconds value:添加key-value,并设置超时时间为second秒
-
strlen key:返回key所对应value的长度
-
del key:删除存储的key-value数据
4.2.Hash类型操作命令
-
hset key field value: 存储key-hash[field-value],存在则更新
-
hmset key field value [field2 value2…]:存储多组key-hash
-
hsetnx key field value:仅当field不存在是,在哈希表key下添加field-value,否则不做任何操作
-
hget key field:获取哈希表key中字段field的值
-
hget key field [field2…]:获取哈希表key中多个字段field,field…的值
-
hgetall key:获取哈希表key中所有字段field及其值value的集合
-
hvals key:获取哈希表key中所有值value的集合
-
hlen key:获取哈希表key中存储字段的数量
-
hkeys key:获取哈希表key中所有字段field的集合
-
hdel key field [field2…]:删除哈希表key中字段field,field1…
-
hexitst key field:查看哈希表key中field字段是否存在,存在返回1,不存在返回0
4.3.List类型操作命令
-
lpush key value [value2…]:将一个或多个值插入到列表key的头部 (左边)
-
rpush key value [value2…]:将一个或多个值插入到列表key的尾部 (右边)
-
lpop key:获取并且移出列表key的第一个元素(左边)
-
rpop key:获取并移出列表key的最后一个元素(右边)
-
lrange key start stop:获取列表key指定范围内的元素
-
llen key:获取键为key的列表长度
-
lindex key index:获取列表key中指定索引的值
-
lrem key count value:删除列表key中count数量的value值
-
count > 0:从表头(左边)开始向表尾搜索,移除与 value相等的元素,数量为 count
-
count < 0:从表尾(右边)开始向表头搜索,移除与 value相等的元素,数量为 count
-
count = 0:移除表key中所有与 value相等的值
-
lset key index value:将列表ky中索引index位置的值设置为value
最后
按照上面的过程,4个月的时间刚刚好。当然Java的体系是很庞大的,还有很多更高级的技能需要掌握,但不要着急,这些完全可以放到以后工作中边用别学。
学习编程就是一个由混沌到有序的过程,所以你在学习过程中,如果一时碰到理解不了的知识点,大可不必沮丧,更不要气馁,这都是正常的不能再正常的事情了,不过是“人同此心,心同此理”的暂时而已。
“道路是曲折的,前途是光明的!”
ING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.youkuaiyun.com/forums/4f45ff00ff254613a03fab5e56a57acb)收录**