nosql数据库中之redis数据库一揽子方案

netstat  -tunpl | grep redis-server   显示端口在使用
netstat–tunpl | grep 6379
解决: ps–aux | grep redis-server
pkill redis-server
Kill -9 9999
kill -9 1762
/usr/local/redis/bin/redis-server  /usr/local/redis/redis.conf
/usr/local/redis/bin/redis-cli
数据类型

nosql 数据库中之 redis 数据库
一、NoSQL , Not Only SQL ),泛指非关系型数据库。
1.NoSql的特点?
  a).Key-value b).不支持sql语句 c.)没有表结构
2常见关系型数据库与非关系型数据库?
     关系型:mysql、Oracle、SQLServerr等;
     非关系型:redis, mongodb等;
3.redis支持哪些数据类型?
     hash(哈希);string(字符串);list(链表);set(集合); Zset(有序集合)
二、redis安装
- 1.Reids安装需要哪几步?
  从安装到使用4步;
  a.)解压软件 tar –zxfv
  b.)make编译;注意:编译!=安装;
  c.)安装 make PREFIX= 目录 install;
  d.)复制config,启动服务;注意:server后面跟那个conf 就由哪个conf启动
- 2.如何将Redis安装为服务?
   config   17行 daemonize 改为yes;  查看行号 :set un;
- 3.如何重启Redis?
   查看 netstat –tunpl | grep redis
  pkill redis-server
  查看  pr –ef |grep redis;
    4.redis 端口  6379
三、Redis安全性设置
1.如何设置密码?
Redis.conf  [108] requirepass foobared  可能用到命令:set nu  ;
2.如何登录?
2.1:方法1 ./redis-cli –a password
2.2:方法2 登录后 auth password
四、Redis- String,hash,list,set,Zset5种数据类型和其他命令--详见redis-1表
1、string键值对
set name xiaoyun
get name
setnx
setex color 10 red,10秒后过期
mset 键名 键名 2 2……………
msetnx 键名 键名 2 2……………
getset name xiaop设置新值返回旧值
strlen name 返回长度
getrange name 0 3
mget name age
incr age  自增操作,每执行一次自动加 1
incrby age 100 追加100
decr incr 一样,自减操作。decr age
decrby 指定减去的值。decrby age 100
append 追加字符串
2、哈希类型
1.Hash数据类型?
    像我们上学时候的课本?eg:语文 ===key 课文标题===field  课文内容 === value   
hset key   field   value例:hset ha1 name xiaopen
hget key   field例:hget ha1 name
hsetnx如果field存在则设置不成功,返回0
hmset key( 哈希的名称 )   field1  value1  field1 value2例:hmset ha2 name xiaozhao age 30
hmget ha2 name age
hincrby    key  field  number( 加的数值 )例: hincrby ha2 age 100
hexists key  field     例hexists ha2 age
hdel  key  field
hkeys  key
hvals key
hgetall 返回哈希里面所有的 field value

3 lists 类型及操作
栈,先进后出;队列,先进先出
lpush  key value     例lpush list1 one 类似
lrange key  0   -1
rpush     rpush list zero 从尾部向链表里面添加数据(字符串类型)
lset list 1 dagang
linsert key  before tow  xiaogang two 元素的前面添加一个元素( xiaogang
lset list 1 xiaobai
lindex list 1
ltrim list 1 2
lpop 从头部删除链表中的元素,返回删除的元素 pop list
rpop 从尾部删除链表中的元素,返回删除的元素
lindex key 位置      返回指定位置的元素
llen 返回链表中元素的个数

4 set (集合)类型-唯一、无序
sadd set1 one two nihao xiaogang
smember set1获取
srem set1 one删除指定元素
spop set1 随机删除集合里面某个元素,返回该元素
sdiff set1 set2     差集
sdiffstore set3 set1 set2
sinter set1 set2     交集
sinterstore set4 set1 set2
sunion set1 set2     并集
sunionstore set5 set1 set2 
smove set2 set1 xiaoli 移动
scard set5 返回集合中元素的个数
sismember set1 xiaolongbao 检测某个元素是否在集合中
srandmember set5 随机返回集合里面的某个元素,但是并不是删除。
5 sorted sets 类型及操作
zadd zset1 12 xiaobai 5 xaioliu 1 xiaohei
zrange zset1 0 -1
zrange zset1 0 -1 withscores
zrem zset1 xiaoliu
zrank zset1 xiaolong在集合中,返回指定元素的下标。(按照元素的序号升序)
zrevrank zset1 xiaohei 在集合中,返回指定元素的下标。(按照元素的序号降序)
zrevrange zset1 0 -1 withscores 查看集合里面的内容 , 按照元素的序号,降序显示的
zrangebyscore zset1 6 12 withscores返回集合中,根据序号的范围返回元素。
zcount zset1 6 12
zcard zset1
zremrangebyrank  zset1 8 10 删除集合中,指定下标范围内容的元素
zremrangebyscore  zset1 8 10 删除集合中,指定序号范围内的元素
Zinterstore---有序集合交集Zinterstore sum_point 2 mid_test fin_test
Zunionstore---有序集合并集Zunionstore salary 2 programmer manager WEIGHTS 1 3
五、 redis 的其他命令
keys *
keys n*
exists email
del name
select 1---共16个库
move name 1 将当前数据库中的 key 转移到其他数据库中
expire name 10 给一个键设置有效期,单位是秒
persist name key 的有效期设置为永久有效,和 expire 命令对应
randomkey 随机返回一个键
type ha1 返回键的数据类型。
dbsize 返回当前数据库键的个数
info 查看 redis 服务器的一些信息
flushdb 删除当前选择数据库中的所有 key
flushall删除所有16个库的key
//---------------------------------------------------------------------------------------------------------
Redis-String,hash,list,set,Zset5种数据类型和其他命令
命令 含义语法返回值
Redis-string命令练习,可用于数据缓存 
set 设置键值,键名存在则覆盖set key vauleset name xiaoyun
setex   设置延时键值  setex key time value;setex color 10 red,10秒后过期
setnx  若键值存在设置失败setnx key value ;   
mset    一次设计多个键值mset key1 value1 key2 value3 
msetnx  设置多个键值存在则失败 msetnx key1 value1 key2 value2 
getset 设置新值返回旧值getset key newValuegetset name xiaop
get获取键值  get key get name
getrange获取键值的内容 getrange key begin endgetrange name 0 3
mget 一次性获取多个值 mget key1 key2mget name age
incr 键名自增1  incr keyincr age
incrby     键名自增指定值 incrby key numincrby age 100 追加100
decr 键名自减 1  decr key 
decrby 键名自减指定值decrby key numdecrby age 100
append 追加字符串 append key value; 
strlen  获取值长度strlen  keystrlen name
Redis-hash命令练习,可用于临时储存用户数据 
hset   设置哈希键值hset  key  valuehset ha1 name xiaopen
hsetnx 检测哈希field若存在则0失败 hsetnx key field valuehmset ha2 name xiaozhao age 30
hget   获取hash内容hget key fieldhmget ha2 name age
hmset  一次设置多个hash的field value hmset key field1  vaule1 field2 vaule2
hmget 一次性获得多个field值 hmget key field1 field2 
hincrby field的值加指定的数值hiccrby key field numhincrby ha2 age 100
hexists  判断一个field是否存在hexisit key field;hexists ha2 age存在返回1
hdel删除一个fieldhdel firld; 
hkeys 返回hsah里面所有fieldhkeys keyhkeys ha2
hvals返回所有的valuehvals keyhvals ha2
hgetall返回所有的 field和value     hgetall key 
Redis-list命令练习,可用于时光机,消息队列
lrem删除符合条件的元素(count0所有符合的,n,-n从右往左n个符合的)lrem  key  count value

lrem user 2 id5从左往右删除2个是id5的值
lpush从头部向链表里面添加数据    lpush  key valuelpush list1 one
lrange取出链表里面的全部内容      lrange key  0   -1lrange key 0 -1
rpush从尾部向链表里面添加数据    rpush  key vaulerpush list zero
linsert在链表里指定的位置添加元素  linsert key  before 谁的前面   添加内容linsert key before tow xiaogang
lset修改链表里面的元素内容     lset  key  元素的位置(从0开始)  新的值lset list 1 dagang
ltrim保留链表中指定范围的元素   ltrim key  开始位置  结束位置ltrim list 1 2
lpop删除并返回链表的头部元素lpop  key 
rpop删除并返回链表的尾部元素rpop  key 
lindex返回指定位置的元素           lindex key 位置lindex list 1
llen返回链表中元素的个数lsize         llen  key 
Redis-set命令练习,可用于共同好友  
sadd向集合里面添加元素 sadd key value1 value2sadd set1 one two nihao xiaogang
smembers获取集合里面的元素    smembers keysmember set1
srem删除集合里面指定元素 srem key  指定的元素srem set1 one
spop随机删除和返回集合某个元素spop keyspop set1
dsiff差集sdiff key1 key2sdiff set1 set2
sdiffstore求差集并保存到新的集合sdiffstore  newKey  key1   key2sdiffstore set3 set1 set2
sinter交集sinter  key1 key2sinter set1 set2
sinterstore求交集并保存到新的集合sinterstore 新集合 key1 key2sinterstore set4 set1 set2
sunion并集sunion key1 key2sunion set1 set2
sunionstore求并集并保存到新的集合sunionstore newKey key1 key2sunionstore set5 set1 set2 
smove移动到key2smove  key1  key2  移动的元素smove set2 set1 xiaoli
scard返回集合中元素的个数scard  keyscard set5
sismember检测某个元素是否在集合中sismember key 元素sismember set1 xiaolongbao
srandmember随机返回集合某元素,不删除srandmember keysrandmember set5
Redis-Zset命令练习,可用于排名 
Zadd向有序集合里面添加元素 zadd key(有序集合名称)  score1  元素1  score2  元素2……zadd zset1 12 xiaobai 5 xaioliu 1 xiaohei
zrange 按序号升序显示集合元素zrange  key  开始下标  结束下标  [withscores]zrange zset1 0 -1 withscores显示序号
zrevrange  按序号降序显示集合元素zrevarange key 0  -1  withscorezrevrange zset1 0 -1 withscores
zrem 删除集合中指定的元素                    zrem key 指定的元素zrem zset1 xiaoliu
Zrank 按序号升序返回指定元素的下标            zrank key  fieldzrank zset1 xiaolong
zrevrank 按序号降序返回指定元素的下标  zrevrank key field zrevrank zset1 xiaohei
zrangebyscore 根据序号的范围返回元素       zrangebyscore  key  开始序号  结束序号zrangebyscore zset1 6 12 withscores
Zcount返回指定序号范围内元素的个数 zcount key  开始序号 结束序号zcount zset1 6 12
zcard 返回集合中元素的个数zcard keyzcard zset1
zremrangebyrank删除指定下标范围内容的元素       zremrangebyrank  key  开始下标  结束下标zremrangebyrank  zset1 8 10
Zremrangebyscore       删除指定序号范围内的元素。zremrangebyscore key    开始序号 结束序号zremrangebyscore  zset1 8 10
Redis的其他命令 
keys查看当前数据库下面的键keys *或keys n*keys *或keys n*
exists查看某个键是否在当前数据库exists keyexists email
del删除当前库指定键del key1 key2 key3del name
select共16个库select  数据库编号select 1---共16个库
move将当前库的key转移到其他库move key  数据库编号move name 1
expire给一个键设置有效期,单位是秒expire key 秒数expire name 10
persist把key有效期设置为永久persist key persist name
randomkey随机返回一个键randomkeyrandomkey
type返回键的数据类型typetype ha1
dbsize返回当前库键的个数dbsize 
info查看redis服务器信息info 
flushdb删除当前库中的所有keyflushdb 
flushall删除所有数据库中的keyflushall 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值