redis基础

redis安装

  1. 去redis官网下载

http://download.redis.io/releases/ 选择你喜欢的版本 ,然后wget

  1. tar vxzf redis-***.tar.gz

  2. 进入redis目录,执行 make·,这一步是编译;

  3. 还是在解压之后目录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机制(使用日志功能保存数据)
每秒同步
每修改同步

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值