redis

redis

安装

这个直接百度redis的源码的下载地址就行

记得下面几个dos命令

  • D;
  • cd redis
  • redis-sever.exe redis.windows.conf
  • redis-cli.exe -h 127.0.0.1 -p 6379

设置键值对

  • set key value
  • get key

配置

语法

  • redis localhost:6379>config get config_setting_name

参数

  • daemonize no redis默认不是以守护进程的方式运行,可以改成yes启用守护进程(window不支持守护进程的配置)
  • pidfile /var/run/redis.pid 当redis以守护进程的方式运行时,redis会默认把pid写入/var/run/redis.pid文件
  • port 6379 指定redis监听接口,默认端口6379
  • bind 127.0.0.1 绑定主机地址
  • timeout 300 当客服闲置多少秒关闭连接,如果指定为0,表示关闭该功能
  • loglevel notice 指定日志的记录级别,redis共四个级别:debug,verbose,notice,warming,默认notice
  • logfile stdout 日志记录方式,默认标准输出,如果配置redis为守护进程方式运行,而配置日志记录方式为标准输出,则日志将会发送给/dev/null
  • databases 16 设置数据库的数量,默认为0,可以用select命令在连接上指定数据库id
  • save 指定在多长事件内,有多少次更新操作,将数据同步到数据文件,可以多个条件按配合
  • expire
    暂时就这么多吧

数据类型

  • string
  • hash
  • list
  • set
  • zset

String

  • redis最基本的类型,是二进制安全的,最大能存储512mb

Hash

  • 是键值(key=>value)对集合
  • 是一个string类型的field和value的映射表,hash特别适合存储对象

List

  • 简单的字符串列表,按照插入顺序排序。可以将元素添加到头部或者尾部

Set

  • string类型的无序集合,通过hash表实现的,所以一切操作的复杂度都是O(1)

Zset

  • string类型的元素的集合,且不允许重复的成员,其每个元素都会关联一个double类型的分数,这样子实现了分数来排序

Redis命令

基本语法

  • $redis-cli

语法

  • $redis-cli -h host -p -a password (语法)

ping

Redis键

语法

command key_name

  • set runoobkey redis
  • del runoobkey
  • dump key
  • expire key
  • exprire key seconds
  • exprire key timestamp
  • pexprire key milliseconds
  • pexprire key milliseconds-timestamp
  • keys pattern
  • move key db
  • persist key
  • pttl key
  • ttl key
  • randomkey
  • rename key newkey
  • renamenx key newkey
  • scan cursor [match pattern] [count count]
  • type key

Redis字符串

语法同上,字符命令

  • set key value
  • get key
  • getrange key start end
  • getset key value
  • getbit key offset value
  • mget key1[key2...]
  • setbit key offset value
  • setex key seconds vaue
  • setnx key value
  • setrangge key offset value
  • strlen key
  • mset key value[key value...]
  • msetnx key value[key value]
  • psetex key milliseconds value
  • incr key
  • incrby key increment
  • incrbyfloat key increment
  • decr key
  • decrby key decrement
  • append key value

hash

redis hash 是一个string类型的field和value的映射表,每个hash可以存储2^32-1的键值对

redis hash 命令

  • hdel key filed1[field2]
  • hexists key field
  • hset key field value
  • hget key field
  • hvals key
  • hincrby key field mincrement
  • hincrbyel key field increment
  • hincrbyfloat key field increment
  • hkeys key
  • hmget key field[field1]
  • hmset key field value[field1 value1]
  • hgetall
  • hscan key currsor match pattern

list

redis list是简单的字符串列表,按照插入顺序排序,可以添加元素到列表的头部或者是尾部

类似栈或者队列

对于栈就有压栈和出栈

 对于队列入队和出队

有左右两个操作方式,left和right

push pop len rem trim set

list命令

  • blpop key[key1] timeout
  • brpop key[key1] timeout
  • brpoplpush source destination timeout(高级应用,单线程应用)
  • lindex key index
  • linsert key before|after pivot value
  • llen key
  • lpush key
  • lpop key
  • lpush key start stop
  • lrem key index value
  • lset key index value
  • ltrim key start stop
  • rpop key
  • rpush key value1[value2]
  • rpush key value

set

集合成员是唯一的。

set命令

  • sadd member[member1]
  • scard key
  • sdiffstorem destination key1[key2]
  • sinter key1[key2]
  • spop key
  • srandemember key [count]
  • srem key member[member1]

zset

redis中的有序集合,通过绑定一个double类型的数值确定它的大小

zset命令

  • zadd key score1 member1 [score2 memebr2]
  • zcard key
  • zcount key min max
  • zinsertstore destination numkeys key[key...]
  • zlexcount key min max
  • zrange key start stop [withscores]
  • zrangebylex key min max [limit offset count]
  • zrangebyscore key min max [- withscores ] [ limit]
  • zrank key member
  • zremrangebyrank key min max
  • zremrangebyscore key min max
  • zrevrange key start stop [withscores]
  • zrevrangebyscore key max min [withscores]
  • zscore key membe
  • zunionstore destination numkeys key [key...]
  • zscan key cursor [match pattern] [count count]

redis方案

  • keys *
  • set操作的“权限”比hset高

redis事务

multi事务开启命令

exec事务执行命令

discard 回滚操作

watch 监控

Java集成redis进入项目的方式

  • jedis
  • redistemplate
原文地址:https://www.cnblogs.com/xiaozhazhahui/p/15061332.html