下载redis,我的版本是redis-2.6.14
把redis-2.6.14.tar.gz上传到linux上
进到该目录并解压 tar -zxvf
redis-2.6.14.tar.gz
进入解压缩后的目录
make 无需make install
cd src
ls 有几个文件是绿颜色
redia-cli:终端操作脚本
redis-server:启动redis服务的脚本
把以上的两个文件拷贝到运行目录下(先创建
运行目录)
makdir /usr/local/redis
cp
redia-cli redis-server /usr/local/redis
cd ..
ls 查看redis的配置文件
把redis的配置文件redis.conf拷贝到运行目录下
cp
redis.conf /usr/local/redis
cd /usr/local/redis
前段方式启动redis服务
./redis-server
停止前段方式的启动redis服务
ctrl+c
接下来后端启动redis服务
vim redis.conf
第十七行 daemonize no 表示不是后端启动redis,改成daemonize yes
再后端启动redis服务
./redis-server redis.conf
如何操作redis
登录redis操作终端 要到/usr/local/redis/
./redis-cli
常用的key操作
key操作
exists key 检测key是否存在
del key1 kedy2 删除key
type key 返回key的类型 默认都是字符串类型
keys pattern 返回匹配指定模式的,例如
keys * 表示匹配所有的
rename oldkey newkey 改名
dbsize 返回当前数据库的key的数量
expire key seconds 为key设定过期时间,单位为秒?
ttl key 返回key的剩余时间
select db-index 选择数据库,数据库下表从0开始,数据库都保存在redis.conf中,搜索databases
flushdb 删除当前数据库里所有的key
flushall 删除所有数据库中的key
move key db-index 把key移动到第几个数据库中
string类型操作
string是redis中最基本的类型
string可以包含任何数据,如 jpg或序列化的对象,
如果只使用string,redis就相当于memcache
set key value
mset key1 value1 key2 value2 一次性设置多对key-value
mget key1 key2 一次获取多个key值
incr key 对key的值做加加操作,并返回新的值,类似i++
对不存在的key,要先创建,在加加,结果就是1
对已存在的key,要求必须为正数,再加加
decr key 做渐减操作,并返回,类似i--
incrby key integer 加指定的值
decrby key integer 减
指定的值
append key value 给key的字符串追加value
substr key start end 返回截取过的key字符串的值,包括start和end的位置,不影响原key的值
List数据类型:链表类型
一个双向链表,通过push pop从链表头部和尾部添加、删除元素
lpush key string 从链表左边添加元素
rpop key 从list链表的尾部删除元素,并返回删除元素
rpush key string 从链表右侧添加元素
lpop key 从链表左边删除元素
llen key 返回 key 的长度
lrange key start end 列出选择链表的范围
ltrim key start end 截取list链表,保留指定区间内元素,其余元素被删除
jim xiaoli jack xiaoming linken mary tom
设置一个list链表,一个key,五个value元素
lpush newlogin tom
lpush newlogin mary
lpush newlogin linken
lpush newlogin xiaoming
lpush newlogin jack
lpush newlogin xiaoli
rpop newlogin
总结链表类型:
右侧是后边,左侧是前边。
先进的是右边,后进的是左边。
从左边进一个,就要从右边出一个。
set集合类型
类似一个大口袋,各种数据都可以存放。
是string类型的无序集合
set元素可以包含2的32次方-1个元素
set集合类型除了基本的添加删除操作,其他有用的操作还包含集合的并集,交集,差集。
每个集合的各个元素不能重复
sadd key member 添加一个元素string元素到key对应的set集合中,成功返回1,
若元素已经存在set集合中,返回0,
key对应的set不存在,返回错误
sinter key1 key2 key3 返回所有给定key的交集
sunion key1 key2 key3 返回所有给定key的并集
sdiff key1 key2 返回所有戈定key的差集,结果中只有key1的,没有key2的
sdiff key2 key1 返回所有戈定key的差集,结果中只有key2的,没有key1的
smembers key 查看key这个set集合的所有元素
sismamber xx key 检查xx是不是set集合key的元素
scard key 检查set集合的元素个数
smove p1 p2 xx 把xx从p1中剪贴到p2中
srem key member1 member2
member3 从key中删除member1。。。